스킬캠퍼스
18강 · 영지식 증명
강의

오늘 끝나면

영지식 증명

  • 영지식 증명의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 영지식이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

비밀을 안 밝히고 증명하기 — 동굴 비유 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

암호 & 보안 · 18

영지식
증명

비밀을 안 밝히고도 안다는 걸 증명하는 것. 비밀번호를 한 글자도 안 말하고 안다고 납득시키기. 말 안 되는 것 같은데 진짜 됨.

P.01암호 & 보안 · 18

비밀은 안다, 근데 안 밝힘

보통 “안다”를 증명하려면 보여줘야 함. 비밀번호 안다? 그럼 쳐봐.

근데 치는 순간 비밀이 노출됨. 영지식 증명은 이걸 뒤집음.

비밀은 한 글자도 안 보여줌/ “나 이거 안다”는 사실만 확신시킴. 핵심은 보여주기도전 통과로 바꾸는 것.

보여주지 않고 · 안다는 것만 전달
두 가지 증명 방식
보통의 증명

“안다고? 그럼 비밀번호 쳐봐

→ 치는 순간 비밀 노출

영지식 증명

안 보여줄게.대신 도전을 통과할게”

→ 비밀은 끝까지 비공개

같은 “안다” · 다른 증명법
P.02암호 & 보안 · 18

알리바바 동굴 이야기

유명한 비유가 고리형 동굴임. 입구에서 길이 좌·우로 갈라졌다가 안쪽에서 다시 만남.

두 길이 만나는 가운데엔 잠긴 비밀 문이 있음. 주문을 알면 문을 열고 반대쪽으로 건너감.

증명자(나)는 “나 그 주문 안다”고 주장함. 검증자(너)는 주문은 절대 안 듣고 그게 사실인지만 확인하고 싶음.

고리형 동굴 · 가운데 비밀 문
고리형 동굴의 구조
왼쪽 길오른쪽 길주문 알면 통과두 길이 안쪽에서 만남
가운데 문이 좌·우를 이어줌
P.03암호 & 보안 · 18

랜덤 도전을 반복 통과

방법은 이럼. 내가 먼저 동굴에 들어가 좌·우 아무 쪽으로 감. 그 다음 검증자가 입구에서 랜덤으로 한쪽을 외침— “왼쪽으로 나와!”

주문 알면 어느 쪽에 있든 문 열고 부른 쪽으로 나옴 → 항상 통과. 주문 모르면 내가 있던 쪽이 우연히 맞아야만 통과 → 50% 운.

오른쪽에서 직접 돌려봄. 한 번은 운으로 넘어감. 근데 여러 번 반복하면 운으로 계속 맞을 확률이 뚝뚝 떨어짐.

알면 항상 통과 · 모르면 50%만 운
알리바바 동굴 · 직접 돌려보기
고리형 동굴 — 가운데 비밀 문
왼쪽 입구오른쪽 입구주문 필요증명자는 동굴 안
검증자 — 랜덤으로 한쪽을 부름

비밀 주문은 화면에 안 나옴. 증명자는 알기에 항상 부른 쪽으로 나옴.

출력 — 안다는 확신도
0%라운드 0

아직 안 돌림. 한 번도 안 거치면 그냥 운빨일 수도 있음.

P.04암호 & 보안 · 18

운일 확률은 1/2ⁿ로 급감

한 라운드 운으로 통과할 확률은 1/2. 두 번 연속이면 1/4, 열 번이면 1/1024.

n번 반복하면 운으로 다 맞을 확률은 1/2ⁿ. 지수로 줄어서 순식간에 0에 가까워짐.

그래서 충분히 반복하면 검증자는 결론 내림. “운으론 불가능하다. 진짜 주문을 아는 거다.”

라운드가 쌓일수록 · 운빨은 0에 수렴
운으로 통과할 확률 = 1/2ⁿ
1
50%
2
25%
3
12.5%
5
3.1%
10
0.1%

10번이면 운빨은 사실상 0%

P.05암호 & 보안 · 18

신뢰는 100%, 비밀은 비공개

진짜 신기한 점. 신뢰도가 100%에 수렴하는 내내, 비밀은 단 한 번도 공개 안 됨.

검증자가 들은 건 “왼쪽으로 나와” 같은 도전과 매번 통과했다는 결과뿐. 주문도 비밀번호도 안 들음. 근데 안다는 확신은 얻음.

이게 실제 암호에 쓰임. 비밀번호를 서버에 안 보내고 로그인하거나, 블록체인에서 잔액·신원을 노출 없이 증명할 때 — 다 영지식 증명임.

Q. 영지식 증명이 신기한 점은?비밀(예: 비밀번호)을 한 번도 안 보여주고 그걸 안다는 사실만 확신시키는 것. 보여주기가 아니라 랜덤 도전을 반복 통과해 증명하니까, 신뢰도가 100%에 수렴해도 비밀 자체는 끝까지 비공개임.
확신은 차오르고 · 비밀은 끝까지 봉인
확신은 ↑ · 비밀은 봉인
검증자가 들은 것왼쪽/오른쪽 외침그냥 도전
검증자가 본 것매번 통과결과만
비밀 주문전혀 안 들음끝까지 비공개
얻은 결론안다고 확신신뢰도 100%

3줄 요약

  1. 1비밀을 안 밝히고 증명하기 — 동굴 비유
  2. 2영지식 증명은 고전 암호 → 키와 신뢰 → 웹 보안 → 블록체인 → 다음 시대 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

영지식

비밀을 안 밝히고 증명하기 — 동굴 비유

암호를 잠그고 풀 때 쓰는 비밀 또는 공개 숫자

해시

데이터를 고정 길이 지문으로 바꾸는 함수