﻿---
title: "영지식 증명"
description: "영지식 증명의 완전성, 건전성, 시뮬레이션, 증인, 설정 가정, 블록체인 활용과 검증 위험을 정확히 설명합니다."
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 영지식 증명

> 교육 목적으로만 제공되며 투자 또는 보안 조언이 아닙니다. 유효한 증명은 증명 시스템의 가정 아래 인코딩된 명제만 보장합니다.

<a id="answer"></a>

## 직접 답변

영지식 증명(ZKP)은 증명자가 명제를 성립시키는 비밀 증인을 공개하지 않고도 그 명제가 참임을 검증자에게 납득시키는 방법입니다. 형식적 보장은 기록에 문자 그대로 아무 정보도 없다는 뜻이 아닙니다. 공개 명제에서 알 수 있는 내용을 제외하면, 허용된 검증자가 배우는 것을 증인 없이도 시뮬레이션할 수 있다는 뜻입니다.

증명 시스템은 세 가지 성질을 따로 평가합니다. **완전성**은 유효한 증인을 가진 정직한 증명자가 승인되는 성질이고, **건전성**은 거짓 명제가 승인될 확률이 무시할 만큼 작은 성질이며, **영지식성**은 정해진 위협 모델에서 증인이 숨겨지는 성질입니다. 실용 시스템 다수는 계산적 논증으로, 계산 능력이 제한된 공격자에 대해서만 명시된 암호학적 가정에 따라 건전성이 성립합니다.

영지식성은 간결성이나 유효성과도 다릅니다. 영지식이지만 검증 비용이 큰 증명, 간결하지만 공개 데이터를 드러내는 증명, 인코딩된 관계를 정확히 증명하지만 애플리케이션이 의도한 규칙과 맞지 않는 증명이 모두 가능합니다.

<a id="mechanism"></a>

## 작동 원리

공개 명제 `x`, 비밀 증인 `w`, 정확히 정의한 관계 `R`에서 시작합니다. 증명자는 증명을 만들고 검증자는 공개 매개변수나 검증 키로 이를 평가합니다. 의도한 건전성 주장은 다음처럼 요약할 수 있습니다.

`Verify(vk, x, proof) = 1 => exists w: R(x, w) = 1`

이 식은 인코딩된 관계에 맞는 증인이 존재한다는 말만 합니다. 증인을 공개하거나 오프체인 입력의 진위를 인증하지 않으며, `R`이 애플리케이션의 모든 업무 규칙을 담았다는 것도 보장하지 않습니다.

- **대화형과 비대화형.** 초기 ZK 프로토콜은 도전과 응답을 교환합니다. 비대화형 시스템은 증거를 하나의 증명에 담으며 보통 설정 자료, 랜덤 오라클 모델 또는 둘 다에 의존합니다.
- **설정 모델.** Groth16은 매우 작은 증명을 제공하지만 회로별 구조화 설정을 사용합니다. PLONK 계열은 범용이며 갱신 가능한 구조화 참조 문자열을 사용할 수 있습니다. STARK는 구조화된 신뢰 설정을 피하지만 일반적으로 증명이 더 크고 해시와 저차수 검사에 의존합니다.
- **산술화와 커밋먼트.** 구현은 프로그램을 대수적 제약으로 바꾸고, 증인에서 파생한 값에 커밋한 뒤, 무작위 검사를 사용해 검증자가 계산을 다시 하거나 증인을 보지 않고도 결과를 확인하게 합니다.
- **지식 증명.** 일부 시스템은 승인된 증명자가 증인을 알고 있다는 주장도 추출자로 형식화합니다. 이는 별도 성질이며 “영지식”이라는 이름만 보고 추론해서는 안 됩니다.

<a id="example"></a>

## 예시

`x`에 커밋먼트와 `100 units` 임계값이 있고 `w`에 커밋된 잔액과 블라인딩 인자가 있다고 가정해 봅시다. 관계는 커밋먼트가 올바르게 열리고 잔액이 적어도 `100 units`인지 검사합니다. 유효한 영지식 증명은 정확한 잔액을 공개하지 않고 이 관계를 입증할 수 있습니다.

결과만으로 증명자가 계정을 소유하거나 자금에 제약이 없거나 같은 커밋먼트를 재사용하지 않았다는 사실까지 증명되지는 않습니다. 이런 주장은 추가 제약과 공개 입력이 필요합니다.

보호형 암호화폐에서는 회로가 일부 거래 정보를 숨기면서 권한, 가치 보존, 중복 방지를 강제할 수 있습니다. 유효성 Rollup에서는 증명이 배치 상태 전이를 입증할 수 있지만 거래 데이터를 공개할 수도 있으므로 “ZK Rollup”이 자동으로 비공개 거래를 뜻하지는 않습니다.

<a id="risks"></a>

## 위험

- 불완전하거나 잘못된 회로가 틀린 규칙을 완벽히 증명할 수 있습니다.
- 도메인 분리, 체인 식별자, 루트 또는 커밋먼트가 빠지면 증명이 잘못된 맥락에 결합될 수 있습니다.
- 신뢰 설정이 필요한 시스템은 설정 침해나 독성 폐기물 잔존으로 건전성이 깨질 수 있습니다.
- 증명기, 검증기, 기록, 곡선, 해시, 컴파일러 또는 스마트 계약의 결함이 이론적 보장을 무효화할 수 있습니다.
- 공개 입력, 증명 시점, 거래 그래프, 수수료, 네트워크 메타데이터가 형식적 ZK 명제 밖의 정보를 유출할 수 있습니다.
- 증인 생성, 브라우저, 하드웨어 또는 원격 증명 서비스의 부채널이 증명 생성 전 비밀을 노출할 수 있습니다.
- 증명 검증은 데이터 가용성, 시퀀서 생존성, 결제 최종성, 검열 저항성 또는 안전한 업그레이드를 제공하지 않습니다.
- 증명 시스템마다 암호학적 가정과 구체적 보안 여유가 다르므로 증명 크기나 검증 속도만으로 보안 순위를 정할 수 없습니다.

<a id="misconceptions"></a>

## 흔한 오해

- **“영지식이면 데이터를 전혀 공개하지 않는다.”** 공개 명제와 의도적으로 노출한 출력은 보이며 증명 모델 밖의 메타데이터도 유출될 수 있습니다.
- **“유효한 증명이면 애플리케이션도 정확하다.”** 인코딩된 관계가 승인됐다는 뜻일 뿐 회로, 통합, 정책 오류는 남습니다.
- **“모든 ZK 시스템의 신뢰 가정은 같다.”** 설정 행사, 곡선, 해시, 기록 모델, 업그레이드 통제는 크게 다릅니다.
- **“ZK는 암호화다.”** 암호화는 권한자가 복호화할 수 있게 데이터를 숨기고, ZK 증명은 증인을 복호화용으로 보내지 않고 주장을 입증합니다.

<a id="related"></a>

## 관련 주제

- [암호학적 해시](/ko/crypto/cryptographic-hash/)
- [프라이버시 코인](/ko/crypto/privacy-coin/)
- [유효성 증명](/ko/crypto/validity-proof/)
- [ZK Rollup](/ko/crypto/zk-rollup/)

<a id="sources"></a>

## 출처

- [The Knowledge Complexity of Interactive Proof Systems](https://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Zero%20Knowledge/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf) - SIAM Journal on Computing (조회일: 2026-08-22)
- [On the Size of Pairing-based Non-interactive Arguments](https://eprint.iacr.org/2016/260.pdf) - IACR Cryptology ePrint Archive (조회일: 2026-08-22)
- [Scalable, transparent, and post-quantum secure computational integrity](https://eprint.iacr.org/2018/046.pdf) - IACR Cryptology ePrint Archive (조회일: 2026-08-22)
- [PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge](https://eprint.iacr.org/2019/953.pdf) - IACR Cryptology ePrint Archive (조회일: 2026-08-22)
- [Zcash Protocol Specification](https://zips.z.cash/protocol/protocol.pdf) - Zcash Protocol Specification (조회일: 2026-08-22)

Source: https://wiki.fcontext.com/ko/crypto/zero-knowledge-proof/index.mdx
