
Zero-Knowledge Proof영지식 증명
영지식 증명(Zero-Knowledge Proof, ZKP)은 어떤 정보를 직접 공개하지 않고도 그 정보를 알고 있음을 증명할 수 있는 암호학 기법이다. 1985년 Goldwasser, Micali, Rackoff에 의해 처음 제안됐으며, 블록체인 확장성과 프라이버시 분야에서 핵심 기술로 부상했다.
핵심 등장인물
영지식 증명은 두 당사자 사이의 프로토콜이다.
| 역할 | 설명 |
|---|---|
| 증명자 (Prover) | 비밀 정보를 알고 있음을 증명하려는 당사자 |
| 검증자 (Verifier) | 증명자의 주장이 참인지 검증하는 당사자 |
작동 원리: 증거–질문–응답
비상호 영지식 증명의 기본 구조는 세 단계로 이루어진다.
이 과정을 충분히 반복하거나, 해시 함수를 이용해 단번에 처리(Fiat-Shamir 변환)하면 실제 비밀 없이는 통과할 수 없는 확률적 확신이 성립한다.
상호 증명에서 비상호 증명으로
| 구분 | 상호 증명 (Interactive) | 비상호 증명 (Non-Interactive) |
|---|---|---|
| 통신 방식 | 증명자-검증자 간 여러 번 왕복 | 단 한 번의 메시지로 증명 전송 |
| 검증 주체 | 참여한 검증자만 가능 | 누구든 독립적으로 검증 가능 |
| 블록체인 적합성 | 낮음 (실시간 상호작용 필요) | 높음 (온체인 배포 후 다수 검증) |
| 도입 시기 | 1985년 (GMR 논문) | 1988년 (Blum, Feldman, Micali) |
현재 블록체인에 사용되는 zk-SNARK·zk-STARK는 모두 비상호 방식이다.
세 가지 조건
영지식 증명이 성립하려면 다음 세 조건을 모두 만족해야 한다.
| 조건 | 설명 |
|---|---|
| 완전성(Completeness) | 참인 명제는 항상 증명 가능하다 |
| 건전성(Soundness) | 거짓 명제는 증명할 수 없다 |
| 영지식성(Zero-Knowledge) | 증명 과정에서 정보 자체는 노출되지 않는다 |
직관적 예시: 동굴 문제
앨리스는 비밀 통로 코드를 알고 있다. 밥에게 코드를 알려주지 않고도 알고 있음을 증명하려 한다.
- 1.앨리스는 동굴 왼쪽 또는 오른쪽 길로 들어간다
- 2.밥이 "왼쪽으로 나와" 또는 "오른쪽으로 나와"를 요청한다
- 3.앨리스가 코드를 안다면 항상 요청한 방향으로 나올 수 있다
여러 번 반복하면 코드 없이는 불가능하므로 알고 있음이 증명된다.
주요 방식
| 방식 | 특징 | 활용 |
|---|---|---|
| zk-SNARK | 증명 간결, 검증 빠름, Trusted Setup 필요 | Zcash, zkSync |
| zk-STARK | Trusted Setup 불필요, 양자 내성 | StarkNet |
| Bulletproofs | 설정 불필요, 범위 증명에 특화 | Monero |
| PLONK | Universal Setup, 유연성 | 다수 ZK 프로젝트 |
zk-SNARK 상세
장점
- •증명 크기가 작고 검증 속도가 빠름 → 온체인 가스비 절감
- •이더리움 생태계에서 가장 널리 지원
단점
- •신뢰 설정 (Trusted Setup) 필요: 공개 파라미터 생성 시 참여자가 성실하게 행동한다고 가정. 이 비밀 값이 유출되면 허위 증명 생성 가능
- •타원곡선 암호 기반 → 양자 컴퓨터에 취약
- •이더리움 기준 단일 zk-SNARK 검증에 약 50만 가스 소비
zk-STARK 상세
장점
- •Trusted Setup 불필요 (공개 랜덤 해시 함수 사용) → 투명성(Transparent) 확보
- •충돌 저항 해시 함수만 사용 → 양자 내성(Quantum-Resistant)
- •연산 크기가 커져도 증명·검증 시간이 선형적으로만 증가
단점
- •증명 크기가 SNARK보다 커 온체인 가스비 부담이 높음
- •검증 비용이 더 높아 이더리움 L1 직접 검증에 불리
블록체인 활용
확장성 (ZK Rollup)
수천 건의 트랜잭션을 하나의 증명으로 압축. ZK Rollup의 핵심 원리다.
프라이버시
거래 금액·상대방을 숨기면서 잔액이 충분함을 증명. Zcash, Tornado Cash 등에 활용.
신원 증명 & 자기주권 신원 (SSI)
개인정보를 공개하지 않고 사실을 증명하는 자기주권 신원(Self-Sovereign Identity)의 핵심 기술이다.
- •부탄 국가 디지털 ID: "나는 부탄 시민이다" 또는 "나는 18세 이상이다"를 개인정보 노출 없이 증명. 중앙 데이터베이스 없이 국가 신원을 관리하는 최초 사례 중 하나
- •World ID (Worldcoin): 홍채 인식으로 생물학적으로 고유한 개인임을 증명. Semaphore 프로토콜을 사용해 그룹 멤버십을 개인정보 없이 검증
- •플랫폼 인증: 공개 입력(회원 자격)과 개인 입력(패스워드·키)을 포함한 ZK 증명을 제시해, 서버가 개인정보를 저장하지 않고도 로그인 처리 가능
zkEVM
ZK 증명으로 EVM(이더리움 가상머신) 실행을 검증하는 기술. 모든 트랜잭션을 재실행하는 대신 증명 확인만으로 블록을 검증할 수 있어 이더리움 L1 검증 비용을 대폭 절감한다.
- •대표 구현체: zkSync Era, Polygon zkEVM, Scroll, Linea
- •L2 시퀀서가 트랜잭션 배치를 처리 → zkEVM 증명 생성 → 이더리움 L1에 증명 제출·검증
MACI (최소 담합 방지 인프라)
온체인 거버넌스 투표에서 뇌물 수수·담합을 방지하는 ZK 기반 프로토콜.
clr.fund의 이차 자금 조달(Quadratic Funding)에 실제 적용되어 담합을 기술적으로 차단하고 있다.
EIP-7503 (네이티브 프라이버시 전송)
이더리움 L1 수준에서 ZK 증명을 활용한 네이티브 프라이빗 가치 이전을 가능하게 하는 제안. 외부 믹서 서비스(Tornado Cash 등) 없이 프로토콜 차원의 프라이버시를 지원하는 방향으로 연구 중이다.
장점
| 장점 | 설명 |
|---|---|
| 프라이버시 보호 | 비밀 정보를 노출하지 않고 사실을 증명. 금융·의료·신원 정보 보호 |
| 확장성 | 수천 건 트랜잭션을 하나의 증명으로 압축해 온체인 검증 비용 절감 |
| 효율성 | 검증자는 원래 연산을 재실행하지 않고 증명만 확인하면 됨 |
| 탈중앙화 | 신원·데이터를 중앙 서버에 저장하지 않아도 검증 가능 |
| 검증 가능성 | 누구든 공개된 증명을 독립적으로 검증 가능 (투명성) |
한계 및 과제
| 한계 | 내용 |
|---|---|
| 증명 생성 비용 | 복잡한 연산을 위해 고성능 하드웨어(GPU·FPGA·ASIC) 필요. 증명 생성 시간이 길어 UX 저하 |
| 검증 가스비 | 이더리움 기준 zk-SNARK 단일 검증에 약 50만 가스 소비. ZK-STARK는 더 높음 |
| Trusted Setup 문제 | zk-SNARK는 파라미터 생성 시 참여자의 성실성을 가정. 비밀 유출 시 허위 증명 생성 가능 (PLONK의 Universal Setup으로 일부 완화) |
| 양자 컴퓨팅 위협 | zk-SNARK가 의존하는 타원곡선 암호는 충분히 강력한 양자 컴퓨터에 취약. ZK-STARK는 해시 기반이라 양자 내성 확보 |
| 구현 복잡도 | 회로(Circuit) 설계와 수학적 이해가 필요해 일반 개발자의 진입 장벽이 높음 |
관련 개념
참고문헌
- 1.Ethereum Foundation. (2024). Zero-Knowledge Proofs. ethereum.org.
- 2.Goldwasser, S., Micali, S., & Rackoff, C. (1985). The Knowledge Complexity of Interactive Proof Systems. STOC 1985.
- 3.Blum, M., Feldman, P., & Micali, S. (1988). Non-Interactive Zero-Knowledge and Its Applications. STOC 1988.
- 4.Boneh, D. & Shoup, V. A Graduate Course in Applied Cryptography. crypto.stanford.edu.