데이터 가용성 샘플링(DAS)은 블록 데이터를 erasure coding으로 확장하고 header에 commitment한 뒤, 라이트 노드가 예측하기 어려운 좌표의 share와 proof를 여러 번 요청하는 방식입니다. 모든 표본이 유효하게 돌아오면 생산자가 복구 불가능할 만큼 데이터를 숨기면서 계속 표본을 피했을 가능성이 낮아집니다. 결과는 수학적 가정과 표본 수에 따른 확률적 신뢰이며 전체 bytes를 직접 다운로드한 증명은 아닙니다.
가용성은 commitment만으로 알 수 없다
block header의 Merkle root는 특정 bytes에 대한 약속이지만 그 bytes가 실제 네트워크에 공개됐음을 혼자 증명하지 않습니다. 생산자는 root를 만들고 데이터를 일부 참여자에게만 주거나 복구에 필요한 조각을 숨길 수 있습니다. 실행 노드가 데이터 없이 새 상태를 검증할 수 없다면 이 차이는 안전 문제입니다.
DAS는 모든 라이트 노드가 전체 블록을 내려받는 대신 작은 무작위 shares를 요청합니다. 응답 share는 header commitment까지 이어지는 Merkle proof로 검증합니다. 잘못된 bytes를 반환하면 proof가 맞지 않고, 응답을 거부하면 해당 표본은 실패 신호가 됩니다.
DAS는 데이터 전체를 보았다는 증명보다, 숨겼다면 무작위 검사에 걸릴 가능성을 빠르게 키우는 절차다.
JOBCOIN 해설

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.
- 가용성은 commitment만으로 알 수 없다
block header의 Merkle root는 특정 bytes에 대한 약속이지만 그 bytes가 실제 네트워크에 공개됐음을 혼자 증명하지 않습니다 .
- erasure coding이 숨김 임계값을 만든다
원본을 parity shares로 확장하면 일정 수 이상의 shares만 있으면 전체를 복구할 수 있습니다.
- 표본 성공은 세 검사를 통과해야 한다
첫째 요청 좌표의 share bytes를 받아야 합니다.
AI로 제작한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.
erasure coding이 숨김 임계값을 만든다
원본을 parity shares로 확장하면 일정 수 이상의 shares만 있으면 전체를 복구할 수 있습니다. 생산자가 데이터를 실제로 unavailable하게 만들려면 단 한 byte가 아니라 복구 임계값을 넘는 shares를 숨겨야 합니다. 숨긴 비율이 커질수록 무작위 표본 하나가 숨긴 좌표를 만날 확률도 커집니다.
가정 예시로 전체 shares의 절반을 숨겨야 복구가 불가능하고 독립 표본 10개를 뽑는다면 모두 공개 영역에만 떨어질 확률은 (1/2)^10, 약 0.098%입니다. 이는 단순 설명용 산식입니다. 실제 프로토콜은 2차원 coding, 중복 없는 표본, 여러 노드와 네트워크 실패 모델을 반영하므로 제품의 confidence 값을 이 식 하나로 재현하면 안 됩니다.
| 숨김 비율 | 독립 표본 수 | 모두 놓칠 확률 |
|---|---|---|
| 50% | 5 | 3.125% |
| 50% | 10 | 약 0.098% |
| 25% | 10 | 약 5.63% |
| 25% | 20 | 약 0.317% |
표본 성공은 세 검사를 통과해야 한다
첫째 요청 좌표의 share bytes를 받아야 합니다. 둘째 해당 share의 Merkle proof가 row 또는 column commitment에 맞아야 합니다. 셋째 commitment가 검증한 canonical header에 속해야 합니다. 임의 API가 준 confidence 숫자만 저장하면 어느 header와 어떤 표본을 검증했는지 재현할 수 없습니다.
timeout은 악의적 withholding과 일시적 peer 장애를 즉시 구분하지 못합니다. Celestia 문서도 실패한 sampling query에서 false negative를 고려해 재시도를 설명합니다. 그러나 무한 재시도로 실패를 숨기면 경보가 무의미합니다. peer 교체, 제한된 retry, 실패율과 응답 시간을 함께 기록합니다.
- canonical header hash와 data commitment를 먼저 확정한다
- 샘플 좌표를 예측하기 어렵게 선택하고 중복 여부를 기록한다
- share bytes와 Merkle proof를 로컬에서 검증한다
- timeout·invalid proof·peer 오류를 구분하고 제한된 재시도 뒤 중단한다
많은 라이트 노드는 집단 복구에도 기여한다
각 라이트 노드는 작은 표본만 받지만 서로 다른 좌표를 샘플링하고 유효 share를 gossip하면 집단이 충분한 고유 shares를 모을 수 있습니다. honest bridge node가 이를 수집해 전체를 복구할 가능성이 커집니다. 따라서 노드 수뿐 아니라 표본 다양성과 네트워크 연결이 중요합니다.
같은 중앙 제공자와 같은 좌표 집합에 의존하면 노드 수가 많아도 독립성이 약합니다. sampling entropy, peer 다양성, 고유 좌표 수를 운영 지표로 봅니다. ‘10만 노드’ 같은 수치만으로 실제 집단 coverage를 추정하지 않습니다.
가용성과 영구 보존은 다른 약속이다
DAS가 블록 생성 시점의 데이터 공개를 높은 확률로 지지해도 수년 뒤 모든 과거 blob을 같은 노드가 제공한다는 뜻은 아닙니다. pruning과 sampling window, archival 정책이 historical retrievability를 결정합니다. 롤업은 자체 데이터 보존자와 복구 계획을 마련해야 합니다.
또한 DAS는 transaction이 유효하거나 state transition이 올바르다는 validity proof가 아닙니다. 가용한 bytes를 실행·검증할 책임은 상위 프로토콜에 남습니다. commitment, availability, validity, retention을 네 열로 나누면 한 지표를 과대 해석하지 않게 됩니다.
자주 묻는 질문
표본이 모두 성공하면 100% 가용한가요?
확률적 보장입니다. 표본 수와 코딩·공격 가정에 따라 false positive 가능성이 매우 낮아지지만 0이라고 단정하지 않습니다.
Merkle root만 있으면 데이터 가용성을 알 수 있나요?
아닙니다. root는 bytes에 대한 commitment이며 실제 공개·응답 여부는 sampling이나 전체 다운로드가 확인합니다.
DAS는 과거 데이터를 영구 보관하나요?
아닙니다. 과거 retrievability는 pruning·archival 정책과 별도 보존 주체에 달려 있습니다.
더 깊이 읽기
본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.



