QR 코드를 스캔하여 다운로드하세요.
BTC $65,601.63 -1.87%
ETH $1,925.59 -1.81%
BNB $612.54 -0.77%
XRP $1.42 -4.56%
SOL $81.67 -4.53%
TRX $0.2795 -0.47%
DOGE $0.0974 -3.83%
ADA $0.2735 -4.22%
BCH $438.31 -4.04%
LINK $8.64 -2.97%
HYPE $28.98 -1.81%
AAVE $122.61 -3.42%
SUI $0.9138 -6.63%
XLM $0.1605 -4.62%
ZEC $260.31 -8.86%
BTC $65,601.63 -1.87%
ETH $1,925.59 -1.81%
BNB $612.54 -0.77%
XRP $1.42 -4.56%
SOL $81.67 -4.53%
TRX $0.2795 -0.47%
DOGE $0.0974 -3.83%
ADA $0.2735 -4.22%
BCH $438.31 -4.04%
LINK $8.64 -2.97%
HYPE $28.98 -1.81%
AAVE $122.61 -3.42%
SUI $0.9138 -6.63%
XLM $0.1605 -4.62%
ZEC $260.31 -8.86%

Layer2의 데이터 가용성이究竟指什么?

Summary: 데이터 가용성은 다음과 같은 질문을 제기합니다: 노드는 새로운 블록을 생성할 때 포함된 모든 데이터가 실제로 네트워크에 브로드캐스트되었는지 어떻게 확인합니까? 블록체인 네트워크의 피어 노드는 새로 제안된 블록과 관련된 모든 데이터가 실제로 가용한지 어떻게 확인합니까?
ZKCross
2022-03-31 17:09:23
수집
데이터 가용성은 다음과 같은 질문을 제기합니다: 노드는 새로운 블록을 생성할 때 포함된 모든 데이터가 실제로 네트워크에 브로드캐스트되었는지 어떻게 확인합니까? 블록체인 네트워크의 피어 노드는 새로 제안된 블록과 관련된 모든 데이터가 실제로 가용한지 어떻게 확인합니까?

저자: ZKCross

원문 제목:《Data Availability in Layer-2 Blockchains

편집:린치, 체인캡처

블록체인 데이터 가용성

최신 이더리움 샤딩 로드맵은 실행 샤딩이 아닌 데이터 샤딩을 우선시하여 이더리움 데이터 처리량을 크게 향상시킵니다. 또한, 모듈화 블록체인은 Rollup, volitions 및 validity와 데이터 가용성 솔루션을 심도 있게 연구하고 있습니다. 이들은 블록체인 데이터 가용성에 대한 최신 논의와 트렌드입니다.

블록체인 및 암호화폐 분야에 참여하는 사람들은 이러한 상황에서 블록체인 데이터 가용성이 무엇을 의미하는지 궁금할 수 있습니다.

"블록체인 내 데이터 가용성"이라는 용어는 많은 블록체인 확장 솔루션이 직면한 특정 문제를 나타냅니다. 이는 블록체인 노드가 새 블록을 생성하는 방법과 이러한 새 블록에 포함된 모든 데이터가 네트워크에 방송되는지를 검사합니다. 문제는 블록 생산자가 블록에 포함된 모든 데이터를 게시하지 않으면, 아무도 해당 블록에 악의적인 거래가 숨겨져 있는지 발견할 수 없다는 것입니다. 데이터 가용성이 블록체인에서 어떻게 작동하는지를 충분히 이해하기 위해서는 블록체인 내 블록 구성 및 블록체인 노드의 기능을 이해하는 것이 중요합니다.

블록체인 노드 입문

블록체인의 데이터 구조는 블록체인으로 구성되며, 블록체인 내 각 블록은 두 부분으로 구성됩니다: 블록 헤더와 거래 데이터 목록.

  • 블록 헤더는 블록의 메타데이터로, 거래의 머클 루트와 같은 블록의 기본 정보를 포함합니다.
  • 거래 부분의 블록은 실제 거래를 포함합니다.

블록체인 네트워크에는 두 가지 유형의 노드가 있습니다: 전체 노드(검증 노드)와 경량 클라이언트. 블록체인은 데이터 가용성을 지원해야 하며, 특히 rollup 및 layer 2 체인에서 더욱 그렇습니다.

데이터 가용성 문제

데이터 가용성 문제는 블록체인 삼원 역설: 보안성, 확장성 및 탈중앙화입니다.

image

삼중 난제는 사람들이 일반적으로 탈중앙화 네트워크가 주어진 시점에서 탈중앙화, 보안성 및 확장성이라는 세 가지 이점 중 두 가지만 제공할 수 있다고 생각하는 것을 의미합니다. 확장성, 보안성 및 탈중앙화는 서로 상호작용합니다. 거래가 성사되기 전에 네트워크는 그 합법성에 대해 합의해야 합니다. 시스템이 거대할 경우, 합의 과정은 다소 시간이 걸릴 수 있습니다.

데이터 가용성 공격

악의적인 노드가 블록 헤더를 방송하지만 잘못된 거래를 포함하는 일부 블록을 보유할 때 블록체인 데이터 가용성 공격이 발생합니다. 전체 블록체인의 데이터를 다운로드하고 저장할 수 있는 정직한 전체 노드는 특정 데이터가 사용할 수 없다는 것을 알지만, 자원이 제한된 경량 노드에게 이를 증명할 공식적인 메커니즘이 부족합니다. 따라서 사이드 체인 및 샤딩 블록체인 전략은 데이터 가용성 공격에 취약합니다. 사이드 체인 네트워크(또는 샤딩)에서 악의적인 노드는 블록의 해시를 신뢰할 수 있는 블록체인에 제출하지만, 이 공격의 다른 노드로 블록 데이터를 전송하지 않습니다.

데이터 가용성 공격은 블록체인 분야에서 잘 알려진 문제로, 처음에는 블록체인 경량 클라이언트의 맥락에서 제기되었습니다. Vitalik이 이를 대중화했습니다. 경량 노드가 하는 일은 블록 헤더를 저장하고 pow 요구 사항을 검증하는 것입니다. 그들은 블록을 검증하고 잘못된 블록에서 사기 증명을 제공하기 위해 전체 노드에 의존합니다.

경량 노드의 경우, 데이터 가용성 공격은 치명적이지 않습니다. 일반적으로 채굴자들은 전체 노드에 대해서도 작업을 수행합니다. 블록이 사용할 수 없는 경우, 그들은 이를 무시하고 동시에 채굴합니다(즉, 모체 블록에서). 블록에 접근할 수 없는 한, 정직한 채굴자는 블록 위에서 작업을 하지 않을 것입니다. 결국 이는 가장 긴 체인에서 벗어나게 됩니다. 이 시점에서 경량 노드는 이러한 블록을 자동으로 무시합니다. 2차 블록체인 및 샤딩과 관련될 경우, 이러한 공격은 더욱 주의가 필요합니다.

핵심 차이점은 블록체인(또는 샤딩) 외에 대부분의 정직한 채굴자/전체 노드가 부족할 수 있다는 것입니다. 따라서 사이드 체인(또는 샤딩) 내의 참가자는 누락된 블록을 분산 원장에 통합할지 여부를 결정하는 통일되고 시스템적인 방법이 없습니다.

데이터 가용성 문제

블록체인 내 데이터 가용성 문제는 다음과 같은 질문을 제기합니다: 노드는 새 블록을 생성할 때 포함된 모든 데이터가 실제로 네트워크에 방송되었는지 어떻게 확인합니까? 블록체인 네트워크의 피어 노드는 새로 제안된 블록과 관련된 모든 데이터가 실제로 가용한지를 어떻게 확인합니까?

예를 들어, Bob을 ZK-Rollup (ZKR)의 운영자로 간주합니다. 그는 비트코인에서 ZK 증명을 검증합니다. 비록 그가 모든 거래 데이터를 비트코인으로 전송하지 않았더라도, 그의 증명이 rollup 내 모든 상태 변경의 유효성을 확인하더라도, rollup의 사용자는 현재 잔액을 알지 못할 수 있습니다. 또한 ZK 특성으로 인해 기존 조건을 통찰할 수 없습니다.

데이터 가용성 공격 해결

모듈화 블록체인에서는 검증 및 데이터 가용성이 분리되어 있기 때문에 모듈화 블록체인 내 데이터 가용성을 보장하는 별도의 방법이 중요합니다. Rollups는 거래 증명을 제공하고 체인 외부에서 새 상태를 계산하지만, 데이터 가용성 문제를 방지하기 위해 여전히 체인 상에서 특정 거래 데이터를 게시해야 합니다. ZK-rollups는 주로 세 가지 주요 데이터 비트를 메인 체인에 게시합니다:

  • 새 상태의 암호화된 약속(루트 해시)
  • 암호학적 증명(예: ZK-SNARK)은 새 상태가 유효한 거래를 초기 상태에 적용한 결과임을 확인합니다.
  • calldata 형태로 배치 내 각 거래에 대한 작은 데이터 조각을 제공합니다.

암호학적 증명의 제로 지식 특성은 거래 및 상태 변화가 합법적임을 확인하지만, 거래 자체에 대한 정보는 제공하지 않습니다. 전체 노드는 거래를 검증하고 새로운 상태 루트를 재계산하기 위해 더 이상 거래 데이터가 필요하지 않습니다. 그러나 충분한 거래 데이터가 메인 체인에 방송되지 않는다고 가정해 보겠습니다. 이 경우, L1의 노드는 rollup의 현재 상태를 감지할 수 없으며, 이는 일반적으로 특정 상황에서(하지만 여전히 중요함) 필요합니다.

블록체인의 데이터 가용성 계층

블록체인의 데이터 계층은 블록체인의 데이터 구조와 물리적 저장소 모두에 사용됩니다. 블록체인 원장은 상호 연결된 블록 목록 또는 머클 트리를 사용하여 설계되며, 이러한 블록 목록은 비대칭 암호화 방법으로 암호화됩니다. 데이터 계층은 다음 부분으로 구성됩니다:

블록: 블록은 거래를 그룹화하고 이를 네트워크 노드 간에 분배하는 데이터 구조입니다. 채굴은 블록을 생성하는 과정입니다. 각 블록에는 블록의 합법성을 검증할 수 있는 메타데이터인 블록 헤더가 있습니다.

머클 트리 및 거래: 블록체인에서 거래는 머클 트리의 일부로 유지됩니다. 머클 트리는 블록 내 모든 거래의 디지털 지문을 생성하여 전체 거래 집합을 요약하여 사용자가 특정 거래가 포함되어 있는지 확인할 수 있도록 합니다. 각 리프 노드는 거래 데이터를 가지고 있으며, 각 비리프 노드는 이전 해시 값의 해시 값을 포함합니다. 머클 트리는 이진 구조이며, 홀수 개의 리프 노드가 필요합니다. 거래가 홀수 개일 경우, 최종 해시는 한 번 복사되어 짝수 개의 리프 노드를 생성합니다.

네트워크 계층: 블록체인은 분산 네트워크를 사용하여 누구나 블록체인上的 모든 정보를 다운로드하고 상호작용할 수 있도록 합니다. P2P(피어 투 피어) 네트워크는 노드 간에 거래를 분배/방송합니다. 블록체인 플랫폼은 주로 세 가지 유형의 네트워크를 활용합니다: 중앙 집중식, 탈중앙화 및 분산 네트워크.

물리적 계층: 이 계층은 서버, 엣지 노드 및 IoT(사물인터넷) 장치로 구성되며, 이들은 블록체인 네트워크의 노드로 작동합니다. 이들은 일반적으로 P2P 네트워크를 통해 연결됩니다. 노드는 컴퓨터, 전화기 또는 프린터와 같은 활성 전자 장치일 수 있으며, 네트워크에 연결되고 IP 주소를 가지고 있어야 합니다.

가상 계층: 하드웨어 위에 위치한 가상 계층은 하드웨어와 자원을 가상 머신에 할당하는 데 사용됩니다.

합의 계층: 이 계층은 네트워크 규칙을 시행하는 역할을 하며, 이 규칙은 네트워크 내의 노드가 방송된 거래에 대해 어떻게 반응해야 하는지를 지정합니다.

인센티브 계층: 이 계층은 분산 네트워크 내에서 노드가 합의에 도달하기 위해 노력하는 활동에 대한 인센티브를 제공합니다. 이 계층의 사용 여부는 블록체인 프로토콜에서 사용하는 합의 메커니즘에 따라 결정됩니다.

계약 계층: 서비스 및 선택적 구성 요소로 구성되어 블록체인 플랫폼이 데이터 피드, 스마트 계약, 오라클, DAO 및 상태 채널과 같은 다른 기술과 통합할 수 있도록 합니다.

API 계층: 블록체인 위에 애플리케이션 인터페이스를 제공하며, 제3자 애플리케이션이 원장 및 스마트 계약과 통신할 수 있는 메커니즘을 제공합니다.

애플리케이션 계층: 이 계층은 블록체인 위에 애플리케이션을 생성할 수 있는 기능을 가지고 있습니다.

전통적인 데이터 가용성 솔루션

전통적인 데이터 가용성 솔루션은 블록체인의 기본 데이터 전송 프로토콜 및 블록 데이터 구조, 합의 알고리즘 및 인센티브 메커니즘과 같은 기본 블록체인 프로토콜을 변경하여 확장성을 높이는 것을 목표로 합니다. 이러한 솔루션에는 Segregated Witness, DAG, 샤딩 및 합의와 같은 Layer1 확장 솔루션이 포함됩니다. 그러나 Layer2 솔루션은 애플리케이션 계층의 체인 외부 방식으로 확장성을 높이는 것을 목표로 합니다.

Segregated Witness: 거래의 확장성을 방지하고 블록 용량을 증가시키기 위해 배포된 프로토콜 강화 기능을 가지고 있습니다.

DAG: 거래는 DAG 내에서 연결되며, 이는 한 거래가 다음 거래를 검증함을 의미합니다. 각 노드는 여러 거래 수준으로 구성됩니다. 거래가 노드에 등록될 때, 먼저 두 개의 거래를 검증해야 합니다. 이 두 거래는 수학적 과정을 사용하여 선택됩니다. 그런 다음 노드는 두 거래가 충돌하지 않는지 검증해야 합니다. 거래를 검증하기 위해 노드는 비트코인 네트워크에서의 암호 문제(pow)와 유사한 문제를 해결해야 합니다.

샤딩: 하나의 블록체인은 여러 체인으로 샤딩되어 처리량을 높일 수 있습니다. 각 샤드는 자체 블록 생산자를 가지고 있으며, 토큰 거래를 위해 통신할 수 있습니다. 샤딩은 각 블록 생산자가 모든 거래를 처리하는 것이 아니라, 네트워크의 처리 능력을 특정 거래만 처리하는 샤드로 나누는 것입니다. 따라서 비샤딩 블록체인은 일반적으로 하나 또는 두 개의 기능이 완전한 전체 노드와 하나 이상의 경량 클라이언트를 가지고 있습니다. 주목할 점은 샤딩이 네트워크 자원을 다양한 노드에 분산시키기 위해 설계되었다는 것입니다.

합의: 합의 계층은 블록체인의 존재에 필수적입니다. 모든 블록은 합의 계층에 의존하여 정상적으로 작동합니다. 이 계층은 블록을 검증하고 그 진행 상황이 일관되도록 조직하는 역할을 합니다.

ZKRollups 솔루션

현재 이더리움 Layer2 솔루션에는 optimistic rollups, ZK rollups 및 Validiums이 있습니다. 이러한 솔루션은 실행 작업을 체인 외부로 이동시키면서 애플리케이션 검증 및 데이터의 체인 상 가용성을 보장합니다. 체인 외부 실행 기반 아키텍처는 처리량을 높이지만, 여전히 메인 체인이 처리할 수 있는 데이터 양의 제한을 받습니다. 실행은 체인 외부에서 이루어지지만, 검증 또는 분쟁 해결 과정은 반드시 체인 상에서 이루어져야 합니다. 거래 데이터는 이더리움에 calldata로 제출되어 향후 재구성을 위해 데이터가 사용 가능하도록 보장합니다. 이는 극히 중요합니다.

optimistic rollups의 경우, 운영자는 무효 거래를 제출하고 일부 블록을 억제할 수 있습니다. 이러한 방식에서는 시스템 내 다른 전체 노드가 제출된 주장이 올바른지 검증할 수 없습니다. 데이터가 부족하기 때문에, 그들은 주장이 실제로 무효임을 나타내는 사기 증명을 제공할 수 없습니다.

제로 지식 기반 roll-ups의 경우, ZKP의 완전성은 수용된 거래가 유효하다는 것을 보장합니다. 그러나 이러한 보장이 존재하더라도 거래를 지원하는 데이터가 공개되지 않으면 심각한 부정적인 영향을 미칠 수 있습니다. 이는 다른 검증자가 시스템의 현재 상태를 계산할 수 없게 만들고, 사용자가 시스템에서 제외되며, 그들의 잔액이 동결되는 결과를 초래할 수 있습니다.

처리량을 높이기 위해 실행 작업을 체인 외부로 이동하는 것이 필요하지만, 데이터 가용성을 보장하기 위한 확장 가능한 데이터 호스팅 계층도 필요합니다. ZKcross와 같은 생태계를 통해, 제로 지식 Rollup을 사용하여 신뢰할 수 있는 데이터 호스팅 및 정렬 구성 요소를 제공합니다. 실행 계층은 통합될 여러 체인 외부 ZKRollups 확장 솔루션을 포함할 것입니다. 우리는 현재 ZKcross를 사용하여 이를 실현하기 위한 필요한 기술을 개발하고 있습니다.

체인 상 데이터

블록체인은 해시율 및 거래와 같은 기타 관련 활동에서 대량의 데이터를 생성합니다.

체인 상 데이터를 이야기할 때, 우리는 무엇을 의미합니까? 간단히 말해: 블록체인에 원주율적으로 저장된 모든 데이터가 체인 상 데이터입니다.

체인 상 데이터는 특정 블록체인 네트워크에서 발생한 모든 거래를 의미합니다. 다시 말해, 블록체인 블록에 이미 기록된 모든 데이터입니다. 공공 체인의 정보는 공개 접근 특성을 가지고 있습니다. 데이터는 세 가지 주요 분류로 나눌 수 있습니다.

  • 각 블록의 사양(타임스탬프, 가스 요금, 채굴자, 블록 크기 등)
  • 각 거래는 매우 상세합니다("발신자" 및 "수신자" 주소, 거래 내의 송금 금액 등)
  • 스마트 계약의 호출 및 사용

체인 상 데이터는 블록체인 전체 건강 상태에 대한 정보를 제공합니다: 네트워크 보안, 재무 완전성, 투명성 및 활용도. 이 계층의 데이터는 원시적이고 상세하며 거의 수정이 필요하지 않습니다. 모든 블록체인 검색 엔진이 이를 접근할 수 있습니다. 이는 네트워크의 기본 "팩트 시트"로, 모든 시장 참여자와 관련이 있습니다.

체인 외 데이터

비트코인 사용자에게 체인 외 거래와 체인 상 거래는 각각 장단점이 있습니다. 확장성은 블록체인 기술의 한계로, 체인 외 솔루션을 통해 해결할 수 있습니다. 체인 상 거래의 확인 시간은 네트워크 혼잡 상황에 따라 달라질 수 있습니다. 체인 외 거래는 즉시 실행되며 거래 비용도 더 저렴하며, 특정 거래는 블록체인에 올라가기 전에 비용이 발생하지 않습니다. 체인 외 거래의 프라이버시는 더 강력합니다. 거래의 세부 사항이 메인 체인과 분리되어 공개되지 않기 때문입니다.

일부 블록체인 도구, 특히 스마트 계약은 블록체인 기반 트리거와 현실 세계의 데이터를 사용하여 조건을 검증하고 계약을 실행합니다. 예를 들어, 토지 소유권을 이전하는 스마트 법률 계약이 있습니다. 부동산 구매에 필요한 자금은 스마트 계약에 의해 관리되며, 이 계약은 현실 세계의 부동산 사실을 검증해야 하며, 이는 실제 계약 이전과 유사합니다. 그러나 블록체인이 데이터(예: 제3자가 확인한 계약 이전)를 검색할 수 없다면, 스마트 계약의 기준이 어떻게 충족되어 판매자의 자금을 해제할 수 있을까요? 체인 외 데이터는 스마트 계약이 계약 및 매매를 성공적으로 실행하기 위해 현실 세계의 정보를 제공합니다. 블록체인과 암호화폐가 계속 발전함에 따라, 체인 외 솔루션은 영구적인 해결책이 될 가능성이 있지만, 오직 시간만이 그 유일한 기준이 될 것입니다.

ZKCross와 같은 다중 체인 ZKRollups 및 크로스 체인 레이어 기술과의 크로스 체인 상호 운용성을 지원하는 프로토콜을 통해 체인 상 및 체인 외 데이터의 가용성이 향상됩니다. ZKcross는 모든 체인에서 글로벌 상태 변화의 추적 및 동기화를 유지하는 크로스 체인 Layer2 역할을 하는 보편적인 계층을 생성했습니다. 계산을 검증하고 zk-snark 증명을 사용하여 다중 체인 rollup을 통해, 이는 크로스 체인 제3자의 신뢰성 문제와 데이터 가용성 공격 문제를 해결합니다.

요약

우리는 비트코인 생태계를 영구적으로 변화시킬 거대한 패러다임 전환의 전환점에 있습니다. ZK-Rollups는 이더리움을 가장 효율적인 방식으로 확장할 것입니다. 이 패러다임 변화는 매우 깊이 있어, 사실상 오늘날 우리가 알고 있는 모든 다른 L1 스마트 계약 체인의 죽음을 효과적으로 나타냅니다. 확장성에 대한 여러 논쟁이 있습니다. 수천 시간의 연구, 구현, 성공 및 실패가 ZK-Rollups를 창조하는 데 사용되었습니다.

물론, 노력은 아직 끝나지 않았습니다. 비록 앞길이 험난하지만, 목표는 지금까지처럼 명확합니다. 현재의 단일 블록체인 아키텍처의 효율성이 여전히 놀랍도록 낮고, 제한된 삼원 역설 하에서 처리량을 증가시키는 것은 보안성 및/또는 탈중앙화를 낮추는 것을 의미합니다. 특별한 모듈화 설계는 실행을 다양한 실행 계층으로 나누어 ZKrollups와 같은 방식으로 블록체인 산업의 효율성을 100배에서 10,000배까지 높였습니다. 의심할 여지 없이, 이는 글로벌 보편성으로 확장하고 수백만 TPS로 향상시키는 유일한 방법입니다. 또한, 향후 몇 년 내에 90% 이상의 블록체인 활동이 zkRollups에서 발생할 것으로 예상되며, 이는 보안이나 탈중앙화에 명백한 영향을 미치지 않을 것입니다.

warnning 위험 경고
app_icon
ChainCatcher Building the Web3 world with innovations.