EIP-7594, 공식적으로 PeerDAS - 피어 데이터 가용성 샘플링이라고 불리는 이더리움 개선 제안(EIP)은 데이터 가용성 샘플링(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에서 도입된 blob 데이터 구조를 직접 기반으로 하지만, 샘플링을 가능하게 하기 위해 여러 계층의 처리를 추가합니다.
cell KZG 증명을 도입합니다. 이는 노드가 전체 blob을 다운로드하지 않고도 특정 셀이 해당 blob의 KZG 커밋먼트에 속하는지 확인할 수 있도록 하는 암호화 증명입니다. [1]cell_proofs를 포함하도록 수정되었습니다. 이 설계의 핵심 효율성은 이러한 증명을 생성하는 계산 비용이 많이 드는 작업이 blob 트랜잭션 발신자에게 아웃소싱된다는 것입니다. 블록 생산자 및 기타 네트워크 노드는 훨씬 저렴한 증명 검증만 수행하면 되므로 중요한 경로에서 블록 생산을 간소화할 수 있습니다. [1]PeerDAS의 핵심은 노드를 구성하여 데이터 샘플을 배포, 보관 및 제공하는 네트워킹 계층입니다.
각 노드는 결정론적이고 유사 난수 방식으로 유지 관리할 특정 데이터 세트, 즉 "커스터디"를 할당받습니다. 이 할당은 노드의 고유 ID, 현재 에포크 및 custody_size 매개변수의 공개 함수입니다. 이를 통해 데이터 저장 책임이 전체 네트워크에 분산됩니다. 정직한 노드에 대한 최소 CUSTODY_REQUIREMENT가 있지만, 참가자는 자발적으로 최소량보다 더 많은 데이터를 커스터디하고 제공할 수 있습니다. 이들은 이 더 높은 용량을 Ethereum Node Record (ENR)에 광고하여 다른 피어가 이를 발견할 수 있도록 합니다. 모든 데이터의 100%를 커스터디하기로 선택한 노드를 "슈퍼 풀 노드" 또는 "DAS 제공자"라고 합니다. [3]
노드는 DHT 기반 메커니즘(이더리움 비콘 체인에서 이미 사용 중인 discv5와 유사)을 사용하여 피어를 찾고, 특히 필요한 데이터 샘플에 대한 보관을 광고하는 피어를 검색합니다. 샘플 자체를 배포하기 위해 네트워크는 각 행과 열에 대해 전용 gossipsub 토픽(예: row_5, column_8)을 설정합니다. 노드는 보관하도록 할당된 데이터에 해당하는 gossip 서브넷에 참여하여 해당 특정 채널에서 검증 가능한 데이터 샘플을 수신하고 제공합니다. [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]
프로토콜은 합의 규칙과 피어 투 피어 인센티브의 조합을 통해 시행됩니다.
blob 데이터 구조를 가져와 블롭 용량을 안전하게 확장하는 데 필요한 완전한 DAS 메커니즘을 구현하여 Danksharding 로드맵의 다음 단계를 실현합니다. [2]EIP-7594는 EIP-4844와 완전히 이전 버전과 호환되도록 설계되었습니다. Dencun 업그레이드에 구현된 기존 기능을 손상시키지 않고 블롭 및 관련 트랜잭션의 기능을 확장합니다. [1]