우리이전 기사, 우리는 execution layer의 ME Network를 철저히 분석했습니다. 오늘은 data availability layer로 초점을 옮기고, 그 핵심 기능과 중요성에 대해 깊이 있게 탐구할 것입니다.
Data Availability Layer란 무엇인가요?
데이터 가용성은 블록 생성자가 블록의 모든 거래 데이터를 네트워크에 공개하여 검증자가 다운로드할 수 있도록 하는 과정을 말합니다. 블록 생성자가 완전한 데이터를 공개하고 검증자가 이를 다운로드할 수 있다면, 해당 데이터는 가용하다고 간주됩니다. 그러나 블록 생성자가 일부 데이터를 숨겨서 검증자가 전체 데이터 세트에 접근하지 못하게 한다면, 해당 데이터는 가용하지 않다고 판단됩니다.
modular blockchain에서 data availability layer는 네트워크 데이터가 접근 및 검증될 수 있도록 보장하는 중요한 역할을 합니다. 이는 일반적으로 데이터 저장, 전송 및 검증과 같은 기능을 포함하여 블록체인 네트워크 내에서 투명성과 신뢰를 유지합니다.
유용한 비유로 data availability layer를 생방송 축구 경기의 기록과 비교할 수 있다. 인기 있는 축구 팀이 경기를 하되, 모든 사람들이 생중계를 볼 수 있는 기회가 있는 것은 아니다. 따라서 경기는 완전히 기록되어 나중에 방송된다. data availability layer는 이와 같은 기록 및 재생 시스템처럼 작동하며, 누구나 경기를 보고 언제든지 공정성을 확인할 수 있도록 한다. 마찬가지로, data availability layer는 어떤 노드라도 블록체인의 역사와 전체 데이터를 확인할 수 있게 한다.
데이터 가용성은 저장과 같지 않다.
데이터 접근성은 데이터를 저장하고 검색하는 것을 포함하지만, 전통적인 데이터 저장 방식과는 다릅니다. 저장의 목적은 데이터가 장기간 접근 가능하게 되고 계속해서 의미를 유지하도록 하는 것입니다. 반면, 데이터 접근성은 주 블록체인 네트워크(혹은 다른 네트워크일 수도 있음)에서 생성된 최신 거래 데이터의 즉각적인 공개에 초점을 맞추며, 이를 쉽게 이용할 수 있도록 합니다.
전통적인 저장 방법은 data availability layer의 요구사항에 적합하지 않습니다. 저장 시스템은 일반적으로 대용량 파일을 처리하지만, 예를 들어 이더리움 블록 간 데이터 접근성을 위한 Rollup 데이터량은 일반적으로 2MB 미만입니다. data availability layer 네트워크는 데이터 샘플링을 통한 검증 및 검색과 같은 기법을 통해 이러한 작은 데이터량을 효율적으로 처리하도록 설계되었으며, 이는 전통적인 저장 네트워크가 대규모로 수행할 수 없는 일입니다.
본질적으로 데이터 가용성은 저장을 위한 전제조건이다. 거래 데이터가 네트워크 내에서 완전히 공개되고 검증될 때에 비로소 실행을 지원하고 상태 변화를 촉진하며 저장할 만한 가치를 가지게 된다. 저장은 데이터 가용성의 기반이 되며, data availability layer는 대량의 데이터를 생성하므로 별도의 네트워크에 저장함으로써 data availability layer 노드의 부담을 줄이고 운영 비용을 감소시킬 수 있다.
ME Network의 Data Availability Layer - 성능의 열쇠
전체 블록체인 효율성을 향상시키기 위해 ME Network는 계층 설계를 채택하여 monolithic chain을 execution layer, settlement layer, data availability layer로 나눕니다. data availability layer는 ME Network가 고규모성을 달성하기 위한 핵심 구성 요소입니다. 이 레이어는 execution layer 데이터의 수신과 저장을 처리하며, Rollup 데이터의 저장 모듈로 작동하여 거래 데이터가 누구나 접근 가능하고 검증할 수 있도록 보장합니다. 이는 execution layer와 합의의 보안을 보장합니다.
특히, data availability layer는 어떤 smart contract 프로토콜도 실행하지 않으며, 완전히 계산이 없는 구조를 가지고 있다. 주요 기능은 거래 데이터의 정확한 가용성을 보장하는 것이며, 사기 증명을 위한 자원을 제공하거나, 네트워크 공격이 발생할 경우 원본 데이터를 참조하여 사용자가 자산을 회복하고 손실을 최소화하는 데 도움을 준다. 이는 중앙집중식 합의에 참여하지 않거나 모든 거래 데이터를 저장하지 않더라도 노드가 거래를 검증하고 그 가용성을 판단할 수 있음을 의미한다. data availability layer는 정보에 대한 추가 보안을 제공하는 ME Network에 필수적인 추가 요소이다.
data availability layer는 독특한 데이터 분배, 전송 경로 및 저장 능력을 통해 메인 체인 (ME Hub)의 효율적인 운영을 향상시키고, ME Network의 전체 성능을 크게 높이고 있다.
Rollup 데이터가 ME Network의 Data Availability Layer에 정확하게 업로드되는 방법
이곳이 데이터 가용성 샘플링(DAS) 기술이 작동하는 곳입니다. DAS는 전체 블록을 다운로드하지 않고도 라이트 노드가 블록의 가용성을 검증할 수 있도록 합니다. 대신, 라이트 노드는 블록 데이터의 일부만 샘플링합니다. 이는 2차원 리드-솔로몬 코드(2D RS)를 사용하여 이루어지며, 데이터 가용성을 보장하기 위해 인코딩과 샘플링을 수행하여 라이트 노드가 최소한의 신뢰 가정으로 블록을 검증할 수 있게 합니다.
ME Network에서 각 블록의 데이터는 더 작은 하위 블록으로 나뉘어 행렬에 배치됩니다. 이러한 하위 블록에 2D RS 에러 복구 코드가 적용되어 패리티 데이터가 생성되며, 이로 인해 행렬이 확장됩니다. 그런 다음 이 확장된 행렬의 행과 열에 대해 메르클 루트가 계산되고, 이 루트들이 블록 헤더에 제출된 데이터로 포함됩니다.
데이터 가용성을 확인하기 위해, ME Network의 DA 라이트 노드는 확장된 행렬에서 하위 블록을 무작위로 샘플링합니다. 라이트 노드는 고유한 좌표를 무작위로 선택하고, 해당 하위 블록과 그 메르클 트리 증명을 완전 노드로부터 요청합니다. 각 샘플 요청에 대해 유효한 응답이 수신되면 전체 블록은 아마도 가용할 것입니다.
이 샘플링 과정은 data availability layer가 ME Network에서 작동하는 데 필수적입니다. 없으면, data availability layer와 Rollup 사이의 협력이 어려울 것입니다. 간단히 말해, 완전한 data availability layer는 모든 데이터를 저장하는 완전 노드, 라이트 노드에 의한 반복적인 검증, 그리고 2D RS 에러 복원 코드 및 메르클 트리와 같은 핵심 기술에 의존합니다.
결론
전통적인 단일 체인 또는 모듈형 체인에서나 data availability layer는 핵심적인 역할을 한다. 모듈형 체인 분야의 리더로서 ME Network는 계속해서 자신의 data availability layer의 개발 및 최적화를 추진하고, 네트워크 성능을 향상시키기 위한 더 효과적인 블록체인 확장성 해법을 탐구할 것이다.

