Learning
토픽 42 / 210·암호학

영지식 증명 (Zero-Knowledge Proof, ZKP)

영지식 증명 (Zero-Knowledge Proof, ZKP)

증명자(Prover)가 검증자(Verifier)에게 어떤 정보를 알고 있음을 그 정보 자체를 공개하지 않고 증명하는 암호학적 프로토콜

특징: 완전성(참이면 항상 수락), 건전성(거짓이면 증명 불가), 영지식성(진위 외 정보 얻지 못함)

구성요소: 증명자(Prover), 검증자(Verifier), 증명(Proof), 공통 참조 문자열(CRS)

ZKP 유형

  • Interactive ZKP: 증명자-검증자 간 다회 상호작용
  • Non-Interactive ZKP(NIZK): 단일 메시지 증명, 블록체인 적합

주요 시스템

  • zk-SNARKs(Succinct Non-interactive ARgument of Knowledge): 짧은 증명, 빠른 검증, Trusted Setup 필요
  • zk-STARKs(Scalable Transparent ARgument of Knowledge): Trusted Setup 불필요, 양자 저항, 증명 크기 큼
  • Bulletproofs: 짧은 증명, 범위 증명 적합
  • PLONK: Universal Trusted Setup, 효율적

동작원리: 증명자가 비밀 입력으로 다항식 생성 -> 검증자가 랜덤 챌린지 -> 증명자가 응답 -> 검증자가 수학적으로 검증(비밀 노출 없음)

응용 분야

  • ZK-Rollup: L2 확장, 거래 압축(zkSync, StarkNet, Polygon zkEVM)
  • 프라이버시 코인: Zcash(zk-SNARKs), 거래 내역 비공개
  • 신원 인증: 나이 증명(성인 여부만), DID 자격 증명

장점: 프라이버시 보호, 검증 효율, 블록체인 확장성, 신뢰 최소화

단점: 계산 비용, 복잡한 구현, 증명 생성 시간, Trusted Setup 위험(일부)

적용사례: Zcash, zkSync, StarkNet, Polygon zkEVM, 디지털 신원 증명

비교: zk-SNARKs(작은 증명/Setup 필요) vs zk-STARKs(투명/큰 증명/양자 저항) vs Bulletproofs(범위 증명)

연관: 블록체인, 암호학, 프라이버시, L2 확장, DID