EIP-7594 (PeerDAS)
EIP-7594, 공식적으로 PeerDAS - 피어 데이터 가용성 샘플링이라고 불리는 이 제안은 데이터 가용성 샘플링(DAS)을 구현하기 위한 네트워킹 프로토콜을 도입하는 핵심 이더리움 개선 제안입니다. [1] 주요 목표는 EIP-4844 (프로토-댕크샤딩)에 의해 확립된 기반을 바탕으로 이더리움의 데이터 가용성 레이어를 크게 확장하는 것입니다. 네트워크 노드가 작은 부분만 다운로드하면서 많은 양의 데이터(“블롭”이라고 함)의 가용성을 확인할 수 있도록 함으로써 PeerDAS는 레이어 2 롤업의 데이터 처리량을 늘려 개별 노드의 하드웨어 요구 사항을 늘리지 않고도 운영 비용을 낮추도록 설계되었습니다. [2] 이러한 개선 사항은 분산화를 유지하면서 이더리움의 확장성을 지원합니다. 이 제안은 이더리움의 후사카 업그레이드의 핵심 구성 요소였습니다. [1]
개요
EIP-7594는 EIP-4844의 Dencun 업그레이드 구현에 따른 이더리움 데이터 레이어 확장의 다음 주요 단계를 다룹니다. [3] EIP-4844는 롤업이 데이터를 이더리움에 게시하는 비용 효율적인 방법으로 블롭을 도입했지만, 초기 설계에서는 노드가 블록 내 모든 블롭의 전체 내용을 다운로드해야 했습니다. 이 "전체 복제" 모델에는 초당 약 31KB의 처리량 제한이 있는 고유한 확장성 제한이 있습니다. [4] "전체 Danksharding"으로 이동하고 블록당 블롭 수를 목표 3개에서 잠재적으로 64개 또는 128개로 늘리려면 강력한 DAS 메커니즘이 필요했습니다. [3]
PeerDAS가 해결하는 핵심 문제는 "데이터 가용성 문제"입니다. 이는 악의적인 블록 생산자가 블록 헤더를 게시하지만 블롭 내에 포함된 실제 트랜잭션 데이터를 보류할 수 있는 시나리오를 나타냅니다. 레이어 2 롤업의 경우 이는 사용자가 상태 변경을 확인하거나, 사기성 트랜잭션에 이의를 제기하거나, 자금의 강제 인출을 실행하는 것을 방지할 수 있으므로 중요한 보안 위험입니다. [4]
PeerDAS는 노드가 전체 데이터 세트를 다운로드하지 않고도 블록의 모든 데이터를 사용할 수 있다는 높은 통계적 확신을 얻을 수 있도록 하여 이러한 위험을 완화합니다. [1] 이 디자인 철학은 discv5 검색 프로토콜 및 gossipsub 메시지 전파 프로토콜과 같은 이더리움 합의 레이어의 기존의 "실전 검증된" 피어 투 피어 구성 요소를 활용하여 단순성과 보안을 우선시했습니다. [3]
역사 및 개발
PeerDAS에 대한 개념은 2023년 9월 이더리움 연구 포럼에서 주요 이더리움 재단 연구자들에 의해 처음 "스케치"로 소개되었습니다. [3] 이 제안은 2024년 1월 12일에 EIP-7594로 공식화되어 생성되었습니다. [1] EIP의 저자로는 Danny Ryan, Dankrad Feist, Francesco D'Amato, Hsiao-Wei Wang, Alex Stokes, Anton Nashatyrev, Csaba Kiraly, Dmitry S., Suphanat Chunhapanya, Daniel Lubarov 및 protolambda를 포함한 저명한 이더리움 연구자 그룹이 있습니다. [1] [3] [2]
EIP-7594 제안은 2024년 초에 "최종 통화" 상태로 이동하여 2025년 10월 28일 마감일을 가졌습니다. [1] 이더리움 핵심 개발자들은 2025년에 배포될 예정인 Pectra 네트워크 업그레이드에 포함될 것이라고 확인했습니다. [2] Pectra 업그레이드는 이더리움 로드맵에서 중요한 이벤트였으며, PeerDAS와 EIP-7251 (MaxEB) 및 EIP-7702 (계정 추상화)와 같은 다른 주요 제안을 결합했습니다. [2] 일부 언론 매체에서는 FIP-7594를 전달하는 업그레이드를 2025년 12월로 예상되는 "Fusaka"라는 추측성 이름으로 언급하기도 했습니다. [4]
PeerDAS 구현 계획은 네트워크 안정성을 보장하기 위해 점진적으로 설계되었습니다. 초기 단계는 블록당 10개의 blob 용량으로 시작하여 이후 더 작은 하드 포크에서 14개로 늘리고 최종적으로 블록당 48개의 blob을 목표로 할 계획이었습니다. 이러한 향후 조정은 EIP-7892와 같은 동반 제안에 의해 촉진되는 사소한 구성 변경이 될 것으로 예상되었습니다. [4]
기술 아키텍처
PeerDAS는 데이터 처리 기술과 정교한 피어 투 피어 네트워킹 프로토콜의 조합을 통해 목표를 달성합니다.
데이터 구조 및 처리
이 프로토콜은 EIP-4844에서 도입된 블롭 데이터 구조를 기반으로 구축되었지만 샘플링을 가능하게 하기 위해 여러 계층의 처리를 추가합니다.
- 오류 정정 코딩: 블롭 데이터는 Reed-Solomon 코드와 같은 1차원 오류 정정 코드를 사용하여 확장됩니다. 이 프로세스는 중복 데이터(패리티 셀)를 추가하여 일부가 누락되더라도 전체 원본 데이터를 재구성할 수 있도록 합니다. 예를 들어, 블롭은 8개의 셀로 나눌 수 있으며, 4개는 원본 데이터를 포함하고 4개는 패리티 데이터를 포함합니다. 전체 블롭은 이러한 8개의 셀 중 4개에서 재구성할 수 있으며, 이는 시스템이 최대 50%의 데이터 가용성 부족을 허용할 수 있음을 의미합니다. [4]
- 데이터 매트릭스: 블록의 모든 블롭에서 확장된 데이터는 셀, 행 및 열로 구성된 2차원 매트릭스로 구성됩니다. [1]
- 셀: 개별적으로 인증할 수 있는 가장 작은 데이터 단위입니다.
- 행: 단일 블롭의 데이터와 오류 정정 코딩된 확장을 결합한 것을 나타냅니다.
- 열: 특정 인덱스에서 모든 행을 가로지르는 수직 슬라이스입니다.
- 셀 KZG 증명: EIP는
셀 KZG 증명을 도입합니다. 이는 노드가 전체 블롭을 다운로드하지 않고도 특정 셀이 해당 블롭의 KZG 커밋먼트에 속하는지 확인할 수 있도록 하는 암호화 증명입니다. [1] - 수정된 트랜잭션 래퍼: 이를 지원하기 위해 EIP-4844 트랜잭션 래퍼는 트랜잭션의 모든 블롭에 대한
cell_proofs를 포함하도록 수정되었습니다. 이 설계의 핵심 효율성은 이러한 증명을 생성하는 계산 비용이 많이 드는 작업이 블롭 트랜잭션 발신자에게 아웃소싱된다는 것입니다. 블록 생산자 및 기타 네트워크 노드는 훨씬 저렴한 증명 검증만 수행하면 되므로 중요한 경로에서 블록 생산을 간소화할 수 있습니다. [1]
P2P(Peer-to-Peer) 네트워킹 프로토콜
PeerDAS의 핵심은 노드를 구성하여 데이터 샘플을 배포, 보관 및 제공하는 네트워킹 계층입니다.
커스터디 및 배포
각 노드는 결정론적이고 유사 난수 방식으로 특정 데이터 세트를 할당받아 유지 관리합니다. 이를 "커스터디"라고 합니다. 이 할당은 노드의 고유 ID, 현재 에포크, custody_size 매개변수의 공개 함수입니다. 이를 통해 데이터 저장 책임이 전체 네트워크에 분산됩니다. 정직한 노드에 대한 최소 CUSTODY_REQUIREMENT가 있지만, 참가자는 자발적으로 최소량보다 더 많은 데이터를 커스터디하고 제공할 수 있습니다. 이들은 이더리움 노드 레코드(ENR)에 더 높은 용량을 광고하여 다른 피어가 이를 발견할 수 있도록 합니다. 모든 데이터의 100%를 커스터디하기로 선택한 노드를 "슈퍼 풀 노드" 또는 "DAS 제공자"라고 합니다. [3]
검색 및 가십
노드는 DHT 기반 메커니즘(discv5, 이더리움 비콘 체인에서 이미 사용 중)을 사용하여 피어를 찾습니다. 특히 필요한 데이터 샘플에 대한 보관을 광고하는 피어를 검색합니다. 샘플 자체를 배포하기 위해 네트워크는 각 행과 열에 대해 전용 gossipsub 토픽(예: row_5, column_8)을 설정합니다. 노드는 보관하도록 할당된 데이터에 해당하는 가십 서브넷에 참여하여 해당 특정 채널에서 검증 가능한 데이터 샘플을 수신하고 제공합니다. [3]
데이터 가용성 샘플링
검증 프로세스는 샘플링을 통해 이루어집니다. 각 슬롯에서 노드는 피어에게 무작위로 선택된 샘플 세트를 요청하여 데이터 가용성을 확인합니다. 공개 보관 할당 함수를 사용하여 노드는 특정 샘플을 보유해야 하는 피어를 식별할 수 있습니다. 노드가 블록에 필요한 고유한 샘플 수를 성공적으로 받으면 블록 생산자가 전체 데이터 세트를 사용할 수 있도록 했다는 것을 통계적으로 확신할 수 있습니다. [2]
데이터 재구성 및 치유
PeerDAS는 강력한 네트워크 자가 치유 메커니즘을 포함합니다. 노드가 행 또는 열에 대한 충분한 샘플 부분을 성공적으로 획득하면 (예: 50% 이상), 소거 코딩을 사용하여 누락된 샘플을 로컬에서 재구성할 수 있습니다. 재구성되면 노드는 새로 복구된 이러한 샘플을 해당 직교 서브넷에 "교차 시드"합니다. 예를 들어 노드가 row_5를 재구성하고 column_8 서브넷의 일부이기도 한 경우 좌표 (5, 8)의 샘플을 column_8 서브넷에 가십하여 네트워크 데이터의 격차를 복구하는 데 도움이 됩니다. [3]
프로토콜 변경 사항 및 제약 조건
PeerDAS 구현으로 인해 트랜잭션당 blob 수가 6개로 제한되는 새로운 하드 리밋이 도입되었습니다. 이 규칙은 트랜잭션 제출, 네트워크 가십, 블록 처리 등 모든 단계에서 클라이언트에 의해 시행되어야 합니다. 또한, 검증자는 일반 풀 노드보다 더 높은 보관 요구 사항을 가지므로 더 많은 리소스를 보유하고 있다는 가정 하에 네트워크의 더 강력한 백본을 생성합니다. [1]
근거 및 설계 철학
PeerDAS의 설계는 효율성, 보안 및 구현 용이성을 최적화하기 위한 특정 기술적 선택을 기반으로 합니다.
한 가지 중요한 결정은 행 대신 열을 기준으로 샘플링을 구성하는 것이었습니다. 노드가 모든 Blob에서 수직 슬라이스를 검색하는 열 샘플링은 두 가지 주요 이유로 선택되었습니다. 첫째, 노드가 공개 트랜잭션 멤풀에서 이미 여러 다른 Blob 조각을 가지고 있을 가능성이 높으므로 재구성이 단순화됩니다. 둘째, 데이터 확장 및 증명 생성의 무거운 계산 작업을 트랜잭션 전송자가 블록 구성 전에 "오프 크리티컬 경로"에서 수행할 수 있습니다. 행 기반 샘플링 방식은 이 계산을 블록 생산자가 수행해야 하므로 블록 생산 프로세스에 상당한 부하와 지연 시간이 추가됩니다. [1]
피어 기반 샘플링 시스템을 사용하면 노드가 악의적이거나 오프라인인 경우 다른 피어를 쿼리하기만 하면 되므로 중복성이 제공됩니다. 또한 투명한 확장이 가능합니다. 더 많은 리소스를 가진 노드는 프로토콜 수준의 변경 없이 네트워크 성능과 견고성을 유기적으로 향상시키면서 더 많은 데이터를 자발적으로 보관할 수 있습니다. [1]
보안 및 네트워크 시행
PeerDAS는 데이터 은닉 공격으로부터 네트워크를 보호하고 네트워크 수준 규칙을 통해 정직한 참여를 강제하도록 설계되었습니다.
데이터 보류 공격
PeerDAS가 해결하는 주요 보안 위험은 데이터 보류 공격입니다. 여기서 악의적인 블록 생산자는 유효한 블록 헤더를 게시하지만 기본 Blob 데이터를 보류합니다. 이에 대한 방어는 의사 난수화된 샘플링 방식입니다. 각 노드는 독립적으로 무작위로 적절한 수의 샘플을 요청하여 공격자가 상당한 양의 데이터를 숨기는 것이 통계적으로 불가능하게 만듭니다. [1]
보안은 수학적으로 정량화할 수 있으며 매우 높습니다. EIP 분석에 따르면 메인넷과 유사한 매개변수(10,000개의 샘플링 노드 네트워크)에서 공격자가 200개의 노드(네트워크의 2%)만 속일 확률은 약 10⁻²⁰입니다. 300개의 노드(3%)를 속일 확률은 10⁻¹⁰¹로 무시할 수 있습니다. 따라서 대규모 데이터 보류 공격은 사실상 불가능합니다. [1]
네트워크 수준 시행
프로토콜은 합의 규칙과 피어 투 피어 인센티브의 조합을 통해 시행됩니다.
- 블록 유효성 검사 규칙: 포크 선택 규칙의 일부로, 노드는 샘플링을 통해 관련 블롭 데이터의 가용성이 확인되지 않은 새 블록을 거부합니다. [4]
- 피어 점수: 데이터 보관이 결정적이므로 노드는 피어가 어떤 데이터를 가지고 있어야 하는지 알고 있습니다. 피어가 요청 시 할당된 샘플을 지속적으로 제공하지 못하면 점수가 낮아지고 결국 연결이 끊어져 악의적이거나 성능이 낮은 노드가 네트워크에서 격리될 수 있습니다. [3]
- 검증인 요구 사항: 검증인은 더 엄격한 의무를 가집니다. 한 소식통에 따르면 최대 유효 지분(예: 4096 ETH)에 도달한 검증인은 사용 가능한 모든 블롭 데이터를 처리해야 합니다. 규정 준수 실패 시 피어가 통신을 중단하여 검증인이 네트워크에 효과적으로 참여하지 못할 수 있습니다. [4]
다른 EIP 및 업그레이드와의 관계
- EIP-4844 (Proto-Danksharding): EIP-7594는 EIP-4844의 직접적인 후속입니다. 4844에서 도입된
blob데이터 구조를 사용하여 blob 용량을 안전하게 확장하는 데 필요한 완전한 DAS 메커니즘을 구현하여 Danksharding 로드맵의 다음 단계를 실현합니다. [2] - Pectra 업그레이드: PeerDAS는 Pectra 업그레이드의 주요 기능이었습니다. Ethereum 교육자 Anthony Sassano는 Pectra가 "Ethereum 역사상 가장 큰 업그레이드가 될 것"이라고 언급하며 PeerDAS를 포함한 변경 사항의 중요성을 강조했습니다. [2]
- 완전한 Danksharding: PeerDAS는 완전한 Danksharding의 최종 비전을 향한 중요한 중간 단계로 간주됩니다. 상당한 확장 이점을 제공하는 실용적이고 간단한 DAS 구현을 제공하며 Ethereum 로드맵의 "The Surge" 부분에서 중요한 이정표를 나타냅니다. [3]
- EIP-7892: 이 동반 제안은 블록당 목표 및 최대 blob 수와 같은 blob 매개변수를 조정하기 위한 새로운 유형의 하드 포크를 정의합니다. 각 증가에 대한 광범위한 코드 변경 없이 계획된 PeerDAS 용량의 향후 확장을 용이하게 하기 위해 설계되었습니다. [4]
이전 버전과의 호환성
EIP-7594는 EIP-4844와 완전히 이전 버전과 호환되도록 설계되었습니다. Dencun 업그레이드에 구현된 기존 기능을 손상시키지 않고 블롭 및 관련 트랜잭션의 기능을 확장합니다. [1]