# Zero-Knowledge Proof (ZKP)

> 영지식 증명(ZKP)은 어떤 진술의 참 여부 외에는 추가적인 정보를 전혀 공개하지 않고도 그 진술이 사실임을 검증하는 암호화 방법입니다.

- Canonical URL: https://iq.wiki/kr/wiki/zero-knowledge-proofs-zkps
- Categories: Glossary
- Created: 2023-12-10T02:33:36.298Z
- Last updated: 2026-06-03T01:14:02.619Z
- Source: IQ.wiki — the world's largest blockchain and crypto encyclopedia (https://iq.wiki)

---

**영지식 증명(Zero-knowledge proof, ZKP)**은 한 당사자(증명자)가 다른 당사자(검증자)에게 어떤 진술의 진위 여부 외에는 추가적인 정보를 전혀 공개하지 않고도 그 진술이 타당함을 확신시킬 수 있게 해주는 암호화 도구입니다. ZKP는 올바르게 해결되었을 때 수신 측이 진짜임을 증명하는 수학적 퍼즐과 같습니다. 이는 다양한 애플리케이션에서 개인의 프라이버시를 보호하고 보안을 강화하는 데 유용한 도구가 됩니다.[\[1\]](#cite-id-sfu7ktuqgo)\


## 개요

지식 증명은 "증명자"가 어떤 정보를 알고 있다는 사실을 "검증자"에게 확신시키는 암호화 증명입니다. 증명자는 암호화 증명을 생성하는 엔티티 또는 프로그램입니다. 검증자는 증명의 내용을 확인하는 엔티티 또는 프로그램입니다. 지식 증명은 완전성(completeness)과 건전성(soundness)이라는 두 가지 기본 특성을 가지며, 지식 증명(PoK)과 영지식 증명(ZKP)의 핵심적인 차이점은 바로 '영지식성'입니다. 진술이 참이라면, 검증자는 증명자로부터 해당 진술이 참이라는 사실 외에는 아무것도 배우지 못합니다.[\[8\]](#cite-id-jxwrq62d4wh)[\[12\]](#cite-id-n4c1emm0afk)

ZKP의 개념은 1985년 샤피 골드와서(Shafi Goldwasser), [실비오 미칼리(Silvio Micali)](https://iq.wiki/wiki/silvio-micali), 찰스 래코프(Charles Rackoff)가 발표한 논문 “대화형 증명 시스템의 지식 복잡도(The Knowledge Complexity of Interactive Proof-Systems)”에서 처음 소개되었습니다.[\[12\]](#cite-id-n4c1emm0afk)\
\
증명자는 자신이 값 X를 알고 있다는 사실 외에 다른 정보 없이 검증자에게 자신이 값 X를 알고 있음을 증명할 수 있습니다. 이 개념의 핵심 본질은 지식을 공개하지 않고 지식의 소유를 증명하는 것입니다. 여기서 주요 과제는 X가 무엇인지 또는 다른 정보를 말하지 않고 값 X에 대한 지식을 보여주는 것입니다.[\[2\]](#cite-id-soku998ivad)

영지식 증명(ZKP)은 암호학, [블록체인](https://iq.wiki/wiki/blockchain) 기술, 프라이버시 보존 시스템을 포함한 다양한 분야에서 상당한 응용 잠재력을 지닌 역설적인 개념입니다.

## 영지식 증명의 유형

ZKP에는 여러 유형이 있으며, 각 유형마다 장단점이 있습니다. 가장 일반적인 유형은 다음과 같습니다.

* **대화형 ZKP(Interactive ZKPs):** 증명자와 검증자 사이에 일련의 질의와 응답 과정이 포함됩니다.[\[4\]](#cite-id-3w5dh4nple6)[\[5\]](#cite-id-z7gm3u4n33)
* **비대화형 ZKP(Non-interactive ZKPs):** 증명자가 검증자에게 단 한 번의 메시지만 보내면 됩니다.[\[5\]](#cite-id-z7gm3u4n33)[\[6\]](#cite-id-5y5y9z6immq)
* **시그마 프로토콜(Sigma protocols):** 효율성과 다재다능함으로 알려진 특정 유형의 ZKP입니다.[\[7\]](#cite-id-lrwwbp2gja9)
* **[ZK-SNARKs](https://iq.wiki/wiki/zk-snark):** 특히 효율적이며 계산의 타당성에 대한 진술을 증명하는 데 사용할 수 있는 비대화형 ZKP입니다. [\[9\]](#cite-id-3az9k6s33f1)[\[8\]](#cite-id-jxwrq62d4wh)
* **ZK-STARKs:** ZK-SNARK보다 훨씬 더 뛰어난 효율성을 제공하지만 구축하기가 더 복잡한 비대화형 ZKP입니다.[\[10\]](#cite-id-9xfjr5f81br)[\[8\]](#cite-id-jxwrq62d4wh)



## 영지식 증명의 잠재적 응용 분야

ZKP는 다음과 같은 광범위한 잠재적 응용 분야를 가지고 있습니다.

* **프라이버시 보존 인증:** 사용자는 개인 정보를 공개하지 않고 웹사이트나 서비스에 자신의 신원을 증명할 수 있습니다.
* **보안 투표:** 유권자는 자신의 신원이나 투표 내용을 공개하지 않고 투표 자격이 있음을 증명할 수 있습니다.
* **익명 자격 증명:** 사용자는 신원을 밝히지 않고 자격 증명을 획득하고 사용할 수 있습니다.
* **블록체인 확장성:** ZKP를 사용하여 기본 데이터를 공개하지 않고 트랜잭션을 검증함으로써 블록체인에 저장되는 데이터 양을 줄이고 확장성을 개선할 수 있습니다.
* **영지식 지식 증명:** 지식 자체를 공개하지 않고 특정 지식을 소유하고 있음을 증명하는 데 사용할 수 있습니다.

## ZKP의 핵심 속성

* **완전성(Completeness):** 진술이 참이고 증명자가 프로토콜을 올바르게 따르면, 검증자는 항상 이를 확신하게 됩니다.
* **건전성(Soundness):** 진술이 거짓이면, 속이려는 증명자가 무시할 수 있는 수준 이상의 확률로 검증자를 설득할 수 없습니다.
* **영지식성(Zero-knowledge):** 검증자는 진술의 타당성 외에는 아무것도 알 수 없습니다.

## 예시

* **슈노르 서명(Schnorr signature):** 사용자가 개인 키 자체를 공개하지 않고 개인 키를 소유하고 있음을 증명할 수 있는 암호화 서명 방식입니다. 단순함으로 잘 알려진 [타원 곡선 암호학(ECC)](https://iq.wiki/wiki/elliptic-curve-cryptography-ecc)을 활용하는 알고리즘인 슈노르 서명은 [타원 곡선](https://iq.wiki/wiki/elliptic-curve-cryptography-ecc) 디지털 서명 알고리즘(ECDSA)의 업그레이드 버전으로 [비트코인](https://iq.wiki/wiki/bitcoin) 기술 로드맵에 포함되도록 제안되었습니다. 슈노르는 단순성, 증명 가능한 보안 및 선형성으로 자주 언급됩니다. 슈노르는 ECDSA보다 적은 계산을 필요로 하므로 [암호화폐](https://iq.wiki/wiki/cryptocurrency) 거래에 적합한 것으로 간주됩니다.[\[11\]](#cite-id-8nzoic17tc7)



* **ZK-SNARKs:** 고급 암호학을 사용하여 복잡한 진술을 효율적으로 증명하는 비대화형 ZKP의 한 유형입니다. [ZK-SNARK](https://iq.wiki/wiki/zk-snark)라는 약어는 'Zero-Knowledge Succinct Non-Interactive Argument of Knowledge'의 줄임말로, 비밀 키와 같은 특정 정보의 소유를 해당 정보를 공개하지 않고, 증명자와 검증자 사이의 상호작용 없이 증명할 수 있는 증명 구조를 의미합니다. [제트캐시(Zcash)](https://iq.wiki/wiki/zcash)는 새로운 형태의 영지식 암호학인 zk-SNARK를 널리 적용한 첫 번째 사례였습니다. 제트캐시의 강력한 프라이버시 보장은 제트캐시의 보호된 트랜잭션이 [블록체인](https://iq.wiki/wiki/blockchain)상에서 완전히 암호화될 수 있으면서도, zk-SNARK 증명을 사용하여 네트워크의 합의 규칙에 따라 유효한 것으로 검증될 수 있다는 사실에서 비롯됩니다. [\[9\]](#cite-id-3az9k6s33f1)[\[13\]](#cite-id-fgwygqyvh2u)
* **ZK-STARKs:** 다항식 커밋먼트(polynomial commitments)를 기반으로 하며 ZK-SNARK보다 더 나은 확장성을 제공하는 또 다른 유형의 비대화형 ZKP입니다. [이더리움(Ethereum)](https://iq.wiki/wiki/ethereum) 또한 네트워크에서 비공개 트랜잭션과 검증을 가능하게 하기 위해 zk-SNARK 및 zk-STARK와 같은 ZKP 프로토콜을 지원합니다. [\[10\]](#cite-id-9xfjr5f81br)[\[15\]](#cite-id-xi7dl5m43ad)



* **불렛프루프(Bulletproofs):** [모네로(Monero)](https://iq.wiki/wiki/monero)는 최근 불렛프루프 ZKP 시스템의 코드를 새롭고 개선된 불렛프루프+(Bulletproof+) ZKP 솔루션으로 업그레이드했습니다. 불렛프루프는 실제 금액을 공개하지 않고 결제 금액이 양수임을 증명하는 비대화형 ZKP입니다. 이를 통해 [모네로](https://iq.wiki/wiki/monero)는 관련 당사자를 제외하고는 아무도 각 거래의 송신자, 수신자 또는 금액을 추적할 수 없도록 보장합니다. [\[14\]](#cite-id-fw50wmiweke)



## ZKP의 과제

ZKP는 상당한 이점을 제공하지만 다음과 같은 몇 가지 과제에도 직면해 있습니다.

* **계산 복잡성:** 일부 ZKP는 특히 복잡한 진술의 경우 구현하는 데 계산 비용이 많이 들 수 있습니다.
* **표준화:** ZKP에 대한 단일 표준이 없어 채택에 걸림돌이 될 수 있습니다.
* **보안 취약성:** ZKP는 아직 비교적 새로운 기술이며 아직 알려지지 않은 취약성에 노출될 수 있습니다.[\[7\]](#cite-id-lrwwbp2gja9)
