ZK-롤업 (Zero-Knowledge Rollup)

ZK-Rollup은 여러 트랜잭션을 단일 트랜잭션으로 묶어 메인 체인에서 해당 트랜잭션의 정확성을 검증하기 위해 영지식 증명을 사용하는 Layer-2 확장 솔루션입니다.

ZK-Rollup은 오프체인에서 트랜잭션을 처리한 다음 유효성 증명을 메인넷에 제출하여 블록체인 확장성을 향상시킵니다. 이 증명은 기본 데이터를 공개하지 않고 오프체인 트랜잭션의 무결성을 확인합니다. 이러한 접근 방식은 메인 체인의 계산 부하를 크게 줄여 사용자의 처리량을 높이고 거래 수수료를 낮춥니다. 영지식 증명을 사용하면 상태 전환이 유효하게 유지되어 기본 블록체인의 보안이 유지됩니다.

ZK-Rollup은 다른 Layer-2 솔루션에 비해 확장성과 효율성 측면에서 상당한 이점을 제공합니다. 트랜잭션의 유효성을 검증하기 위해 암호화 증명을 활용하여 더 빠른 트랜잭션 시간과 비용 절감을 가능하게 합니다. 핵심 원칙은 여러 트랜잭션을 단일 배치로 묶고 간결한 증명을 생성한 다음 이 증명을 메인넷에 제출하는 것입니다. 이 방법을 통해 메인넷은 모든 트랜잭션을 다시 실행하지 않고도 배치의 유효성을 신속하게 검증할 수 있습니다.

        graph LR
  Center["ZK-롤업 (Zero-Knowledge Rollup)"]:::main
  Pre_zero_knowledge_proof["zero-knowledge-proof"]:::pre --> Center
  click Pre_zero_knowledge_proof "/terms/zero-knowledge-proof"
  Rel_optimistic_rollup["optimistic-rollup"]:::related -.-> Center
  click Rel_optimistic_rollup "/terms/optimistic-rollup"
  Rel_validium["validium"]:::related -.-> Center
  click Rel_validium "/terms/validium"
  Rel_data_availability["data-availability"]:::related -.-> Center
  click Rel_data_availability "/terms/data-availability"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 5살도 이해할 수 있게 설명

수만 개의 수학 문제를 다른 방에서 다 풀고 나서, 메인 거실에는 '내가 다 맞게 풀었다'는 '마법 확인서' 한 장만 가져가는 것과 같아요. 사람들은 확인서만 보고도 안심할 수 있죠.

🤓 Expert Deep Dive

ZK-Rollups leverage succinct non-interactive arguments of knowledge (SNARKs or STARKs) to compress transaction data and provide cryptographic validity. The process typically involves an operator (sequencer) collecting transactions, executing them off-chain, generating state transitions, and constructing a validity proof. This proof attests to the correctness of the state transition function applied to the batch of transactions. The Layer-1 contract verifies this proof, which is computationally cheaper than re-executing all transactions. State updates are managed via state roots stored on-chain. Data availability is a critical component; ensuring that the transaction data (or at least its compressed representation) is available off-chain (e.g., via data availability committees or posting compressed data to Layer-1 calldata) is crucial for users to reconstruct the state and exit the rollup if the operator misbehaves. Different ZK-Rollup designs vary in their proof systems (SNARK vs. STARK), data availability strategies, and mechanisms for handling withdrawals and potential operator failures.

🔗 관련 용어

선행 지식:

📚 출처