메인 콘텐츠로 건너뛰기
Change page

데이터 가용성

페이지 마지막 업데이트됨: 2026년 2월 23일

"신뢰하지 말고, 검증하라"는 이더리움에서 흔히 사용되는 격언입니다. 이는 노드가 피어로부터 수신한 블록의 모든 트랜잭션을 실행하여 제안된 변경 사항이 노드에서 독립적으로 계산한 것과 정확히 일치하는지 확인함으로써 수신한 정보의 정확성을 독립적으로 확인할 수 있다는 생각에 기반합니다. 이는 노드가 블록 전송자의 정직성을 신뢰할 필요가 없다는 것을 의미합니다. 데이터가 누락된 경우에는 이것이 불가능합니다.

데이터 가용성은 블록을 검증하는 데 필요한 데이터가 모든 네트워크 참여자에게 실제로 사용 가능하다는 것에 대해 사용자가 가질 수 있는 신뢰를 의미합니다. 이더리움 레이어 1의 풀 노드에게는 이것이 비교적 간단합니다. 풀 노드는 각 블록의 모든 데이터 사본을 다운로드하는데, 다운로드를 위해서는 데이터가 사용 가능해야 합니다. 데이터가 누락된 블록은 블록체인에 추가되지 않고 폐기됩니다. 이것이 "온체인 데이터 가용성"이며 모놀리식 블록체인의 특징입니다. 풀 노드는 모든 트랜잭션을 직접 다운로드하고 실행하기 때문에 유효하지 않은 트랜잭션을 수락하도록 속일 수 없습니다. 그러나 모듈식 블록체인, 레이어 2 롤업 및 라이트 클라이언트의 경우 데이터 가용성 환경이 더 복잡하여 더 정교한 검증 절차가 필요합니다.

필수 구성 요소

블록체인 기본 사항과 특히 합의 메커니즘에 대해 잘 이해하고 있어야 합니다. 또한 이 페이지에서는 독자가 블록, 트랜잭션, 노드, 확장 솔루션 및 기타 관련 주제에 익숙하다고 가정합니다.

데이터 가용성 문제

데이터 가용성 문제란 블록체인에 추가되는 트랜잭션 데이터의 요약된 형식이 실제로 유효한 트랜잭션 집합을 나타낸다는 것을 전체 네트워크에 증명해야 하지만 모든 노드가 모든 데이터를 다운로드할 필요는 없다는 것입니다. 전체 트랜잭션 데이터는 블록을 독립적으로 검증하는 데 필요하지만, 모든 노드에게 모든 트랜잭션 데이터를 다운로드하도록 요구하는 것은 확장성에 장벽이 됩니다. 데이터 가용성 문제에 대한 해결책은 데이터를 직접 다운로드하고 저장하지 않는 네트워크 참여자에게 검증을 위해 전체 트랜잭션 데이터를 사용할 수 있도록 했다는 충분한 보장을 제공하는 것을 목표로 합니다.

라이트 노드레이어 2 롤업은 강력한 데이터 가용성 보장이 필요하지만 트랜잭션 데이터를 직접 다운로드하고 처리할 수 없는 네트워크 참여자의 중요한 예입니다. 트랜잭션 데이터 다운로드를 피함으로써 라이트 노드를 가볍게 만들고 롤업이 효과적인 확장 솔루션이 될 수 있게 합니다.

데이터 가용성은 블록 검증을 위해 상태 데이터를 다운로드하고 저장할 필요가 없는 미래의 "상태 비저장" 이더리움 클라이언트에게도 중요한 문제입니다. 상태 비저장 클라이언트는 여전히 데이터가 어딘가에서 사용 가능하고 올바르게 처리되었음을 확신해야 합니다.

데이터 가용성 솔루션

데이터 가용성 샘플링(DAS)

데이터 가용성 샘플링(DAS)은 개별 노드에 너무 많은 부담을 주지 않으면서 네트워크가 데이터의 가용성을 확인할 수 있는 방법입니다. 각 노드(스테이킹하지 않는 노드 포함)는 전체 데이터에서 무작위로 선택된 작은 하위 집합을 다운로드합니다. 샘플을 성공적으로 다운로드하면 모든 데이터를 사용할 수 있다는 것이 높은 신뢰도로 확인됩니다. 이는 데이터 소거 코딩에 의존하는데, 이는 주어진 데이터세트를 중복 정보로 확장하는 것입니다(이 작업은 데이터에 다항식으로 알려진 함수를 맞추고 추가 지점에서 해당 다항식을 평가하는 방식으로 수행됩니다). 이를 통해 필요할 때 중복 데이터에서 원본 데이터를 복구할 수 있습니다. 이 데이터 생성의 결과는 원본 데이터 중 일부라도 사용할 수 없게 되면 확장된 데이터의 절반이 누락된다는 것입니다! 각 노드가 다운로드하는 데이터 샘플의 양을 조정하여 데이터의 절반 미만만 실제로 사용할 수 있는 경우 각 클라이언트가 샘플링한 데이터 조각 중 하나 이상이 누락될 가능성이 매우 높도록 할 수 있습니다.

전체 댕크샤딩이 구현된 후 DAS는 롤업 운영자가 트랜잭션 데이터를 사용할 수 있도록 보장하는 데 사용됩니다. 이더리움 노드는 위에서 설명한 중복 체계를 사용하여 블롭에 제공된 트랜잭션 데이터를 무작위로 샘플링하여 모든 데이터가 존재하는지 확인합니다. 라이트 클라이언트를 보호하기 위해 블록 생성자가 모든 데이터를 사용할 수 있도록 동일한 기술을 사용할 수도 있습니다. 마찬가지로 제안자-빌더 분리 하에서는 블록 빌더만 전체 블록을 처리해야 하며, 다른 검증자는 데이터 가용성 샘플링을 사용하여 검증하게 됩니다.

데이터 가용성 위원회

데이터 가용성 위원회(DAC)는 데이터 가용성을 제공하거나 증명하는 신뢰할 수 있는 당사자입니다. DAC는 DAS 대신 사용되거나 DAS와 함께 (opens in a new tab) 사용될 수 있습니다. 위원회를 통해 제공되는 보안 보증은 특정 설정에 따라 다릅니다. 예를 들어, 이더리움은 무작위로 샘플링된 검증자 하위 집합을 사용하여 라이트 노드에 대한 데이터 가용성을 증명합니다.

DAC는 일부 밸리디움에서도 사용됩니다. DAC는 데이터 사본을 오프라인으로 저장하는 신뢰할 수 있는 노드 집합입니다. 분쟁이 발생할 경우 DAC는 데이터를 사용할 수 있도록 해야 합니다. DAC의 구성원은 또한 해당 데이터가 실제로 사용 가능하다는 것을 증명하기 위해 온체인 증명을 게시합니다. 일부 밸리디움은 DAC를 지분 증명(PoS) 검증인 시스템으로 대체합니다. 여기서 누구나 검증자가 되어 데이터를 오프체인에 저장할 수 있습니다. 그러나 이들은 스마트 계약에 예치되는 '본드'를 제공해야 합니다. 검증자가 데이터를 보류하는 것과 같은 악의적인 행동이 발생할 경우, 본드가 삭감될 수 있습니다. 지분 증명 데이터 가용성 위원회는 정직한 행동을 직접적으로 장려하기 때문에 일반 DAC보다 훨씬 더 안전합니다.

데이터 가용성 및 라이트 노드

라이트 노드는 블록 데이터를 다운로드하지 않고 수신하는 블록 헤더의 정확성을 검증해야 합니다. 이러한 가벼움의 대가는 풀 노드가 하는 것처럼 로컬에서 트랜잭션을 다시 실행하여 블록 헤더를 독립적으로 검증할 수 없다는 것입니다.

이더리움 라이트 노드는 동기화 위원회에 할당된 512명의 검증자로 구성된 무작위 집합을 신뢰합니다. 동기화 위원회는 암호화 서명을 사용하여 헤더의 데이터가 정확하다는 신호를 라이트 클라이언트에 보내는 DAC 역할을 합니다. 매일 동기화 위원회는 새로 고쳐집니다. 각 블록 헤더는 라이트 노드에게 다음 블록에 서명할 것으로 예상되는 검증자를 알려주므로 실제 동기화 위원회를 사칭하는 악의적인 그룹을 신뢰하도록 속일 수 없습니다.

그러나 공격자가 어떻게든 악의적인 블록 헤더를 라이트 클라이언트에게 전달하고 정직한 동기화 위원회가 서명했다고 확신시킨다면 어떻게 될까요? 이 경우 공격자는 유효하지 않은 트랜잭션을 포함할 수 있으며, 라이트 클라이언트는 블록 헤더에 요약된 모든 상태 변경을 독립적으로 확인하지 않기 때문에 이를 맹목적으로 수락하게 됩니다. 이를 방지하기 위해 라이트 클라이언트는 사기 증명을 사용할 수 있습니다.

이러한 사기 증명은 풀 노드가 네트워크를 통해 유효하지 않은 상태 전환이 전파되는 것을 보고 제안된 상태 전환이 주어진 트랜잭션 집합에서 발생할 수 없음을 보여주는 작은 데이터 조각을 신속하게 생성하여 해당 데이터를 피어에게 브로드캐스트하는 방식으로 작동합니다. 라이트 노드는 이러한 사기 증명을 포착하여 잘못된 블록 헤더를 폐기하고 풀 노드와 동일한 정직한 체인에 머무르도록 보장할 수 있습니다.

이는 풀 노드가 전체 트랜잭션 데이터에 접근할 수 있어야 가능합니다. 잘못된 블록 헤더를 브로드캐스트하고 트랜잭션 데이터를 사용할 수 없게 만드는 공격자는 풀 노드가 사기 증명을 생성하는 것을 막을 수 있습니다. 풀 노드는 잘못된 블록에 대한 경고 신호를 보낼 수는 있지만, 증명을 생성할 데이터가 제공되지 않았기 때문에 증거로 경고를 뒷받침할 수는 없습니다!

이 데이터 가용성 문제에 대한 해결책은 DAS입니다. 라이트 노드는 전체 상태 데이터의 아주 작은 무작위 청크를 다운로드하고 이 샘플을 사용하여 전체 데이터 세트가 사용 가능한지 확인합니다. N개의 무작위 청크를 다운로드한 후 전체 데이터 가용성을 잘못 가정할 실제 가능성을 계산할 수 있습니다(100개 청크의 경우 확률은 10^-30 (opens in a new tab)으로, 즉 믿을 수 없을 정도로 낮습니다).

이 시나리오에서도 단 몇 바이트만 보류하는 공격은 무작위 데이터 요청을 하는 클라이언트에게 눈에 띄지 않을 수 있습니다. 소거 코딩은 제안된 상태 변경을 확인하는 데 사용할 수 있는 작은 누락 데이터 조각을 재구성하여 이 문제를 해결합니다. 그런 다음 재구성된 데이터를 사용하여 사기 증명을 구성하여 라이트 노드가 잘못된 헤더를 수락하는 것을 방지할 수 있습니다.

참고: DAS 및 사기 증명은 아직 지분 증명 이더리움 라이트 클라이언트에 구현되지 않았지만, ZK-SNARK 기반 증명 형태일 가능성이 높은 로드맵에 포함되어 있습니다. 현재의 라이트 클라이언트는 DAC의 한 형태에 의존합니다. 즉, 동기화 위원회의 신원을 확인한 다음 수신한 서명된 블록 헤더를 신뢰합니다.

데이터 가용성 및 레이어 2 롤업

과 같은 레이어 2 확장 솔루션은 트랜잭션을 오프체인으로 처리하여 트랜잭션 비용을 줄이고 이더리움의 처리량을 높입니다. 롤업 트랜잭션은 압축되어 이더리움에 일괄적으로 게시됩니다. 배치는 이더리움의 단일 트랜잭션에서 수천 개의 개별 오프체인 트랜잭션을 나타냅니다. 이를 통해 기본 레이어의 혼잡을 줄이고 사용자 수수료를 절감할 수 있습니다.

그러나 이더리움에 게시된 '요약' 트랜잭션을 신뢰할 수 있으려면 제안된 상태 변경이 독립적으로 검증될 수 있고 모든 개별 오프체인 트랜잭션을 적용한 결과임이 확인되어야 합니다. 롤업 운영자가 이 검증을 위해 트랜잭션 데이터를 제공하지 않으면 이더리움에 잘못된 데이터를 전송할 수 있습니다.

낙관적 롤업은 압축된 트랜잭션 데이터를 이더리움에 게시하고 독립적인 검증자가 데이터를 확인할 수 있도록 일정 시간(보통 7일) 동안 기다립니다. 누군가 문제를 발견하면 사기 증명을 생성하여 롤업에 이의를 제기할 수 있습니다. 이렇게 하면 체인이 롤백되고 유효하지 않은 블록은 생략됩니다. 이는 데이터가 사용 가능한 경우에만 가능합니다. 현재 낙관적 롤업이 L1에 트랜잭션 데이터를 게시하는 방법에는 두 가지가 있습니다. 일부 롤업은 온체인에 영구적으로 존재하는 CALLDATA로 데이터를 영구적으로 사용할 수 있도록 합니다. EIP-4844가 구현되면서 일부 롤업은 트랜잭션 데이터를 더 저렴한 블롭 저장 공간에 게시합니다. 이것은 영구적인 저장 공간이 아닙니다. 독립 검증자는 이더리움 레이어 1에서 데이터가 삭제되기 전 약 18일 이내에 블롭을 쿼리하고 이의를 제기해야 합니다. 데이터 가용성은 이더리움 프로토콜에 의해 해당 짧은 고정 기간 동안만 보장됩니다. 그 이후에는 이더리움 생태계의 다른 주체들의 책임이 됩니다. 모든 노드는 블롭 데이터의 작은 무작위 샘플을 다운로드하여 DAS를 통해 데이터 가용성을 확인할 수 있습니다.

영지식(ZK) 롤업이 상태 전환의 정확성을 보장하므로 트랜잭션 데이터를 게시할 필요가 없습니다. 그러나 상태 데이터에 접근하지 않으면 ZK 롤업의 기능(또는 상호작용)을 보장할 수 없기 때문에 데이터 가용성은 여전히 문제입니다. 예를 들어, 운영자가 롤업 상태에 대한 세부 정보를 보류하면 사용자는 자신의 잔액을 알 수 없습니다. 또한 새로 추가된 블록에 포함된 정보를 사용하여 상태 업데이트를 수행할 수 없습니다.

데이터 가용성 대 데이터 검색 가능성

데이터 가용성은 데이터 검색 가능성과 다릅니다. 데이터 가용성은 풀 노드가 특정 블록과 관련된 전체 트랜잭션 집합에 접근하고 이를 검증할 수 있다는 보장입니다. 그렇다고 해서 데이터에 영원히 접근할 수 있다는 의미는 아닙니다.

데이터 검색 가능성은 노드가 블록체인에서 과거 정보를 검색하는 기능입니다. 이 과거 데이터는 새 블록을 검증하는 데 필요하지 않으며, 제네시스 블록에서 풀 노드를 동기화하거나 특정 과거 요청을 처리하는 데만 필요합니다.

핵심 이더리움 프로토콜은 데이터 검색 가능성이 아닌 데이터 가용성에 주로 관심이 있습니다. 데이터 검색 가능성은 제3자가 운영하는 소수의 아카이브 노드를 통해 제공되거나 포털 네트워크 (opens in a new tab)와 같은 탈중앙화 파일 저장소를 사용하여 네트워크 전체에 분산될 수 있습니다.

더 읽어보기

이 문서가 도움이 되셨나요?