영지식 증명 (Zero-Knowledge Proof)

1. 영지식 증명 (Zero-Knowledge Proof)의 개념 및 특성

개념증명자(Prover)가 검증자(Verifier)에게 자신의 주장이 참이라는 것을 참・거짓 여부 외에 다른 정보를 노출하지 않고 증명할 수 있는 기술
특성완전성
(Completeness)
증명자의 주장이 참일 경우, 검증자는 해당 주장이 참이라는 것을 확신할 수 있음
건전성
(Soundness)
증명자의 주장이 거짓일 경우, 누구라도 검증자에게 해당 주장이 참이라고 확신 시킬 수 없음
영지식성
(Zero-Knowledge)
검증자는 증명자의 주장이 참일 경우, 해당 주장이 참이라는 것 외에는 알 수 없음
  • 완전성 및 건전성(건실성)은 증명 과정에서 보편적으로 요구되는 성질이며, 영지식성은 영지식 증명 과정에서 추가적으로 요구되는 특성

 

2. 영지식 증명의 메커니즘 및 특성 적용 (사례)

(1) 영지식 증명의 메커니즘

1단계 (조건 설정)2단계 (증명)
조건– 동굴은 입구에서 A, B 두 개의 통로를 가지며, 동굴의 끝은 연결되어 있음
– 동굴 끝의 문은 비밀번호로 잠겨있으며, 비밀번호는 어느 방향에서나 입력 가능
주장– 증명자(P)는 동굴 끝의 문 비밀번호를 알고 있음을 주장
증명– 증명자(P)가 A나 B 어느 통로로 들어가더라도 검증자(V)가 지시하는 방향으로 나올 수 있음을 반복하여 보임으로 증명자(P)가 비밀번호를 알고 있음을 증명

(2) 영지식 증명의 특성 적용

특성사례 적용
완전성검증자(V)는 증명자(P)가 자신이 랜덤하게 지시한 통로로 나오는 것을 반복 확인함으로써 증명자(P)가 비밀번호를 알고 있다고 확신
건전성증명자(P)가 비밀번호를 알고 있지 않다면 매번 검증자(V)가 지시한 통로로 나올 수 없음
영지식성검증자(V)는 증명자(P)가 비밀번호를 알고 있다는 것을 확신하지만 해당 비밀번호를 알 수는 없음
  • 영지식 증명을 수행하기 위해 영지식 증명의 특성인 완전성, 건전성, 영지식성을 모두 만족 필요

 

3. 영지식 증명의 활용 사례 (Zcash 거래 검증)

#zK-SNARK 알고리즘 기반 Zcash의 거래 검증 과정
키 생성기는 모두에게 공개 가능한 검증키와 증명키를 생성
블록체인의 거래 생성자는 증명키와 자신의 비밀값 등을 증명 알고리즘에 넣어 증명값(Proof)을 생성
※ 비밀값: 거래의 입력값, 거래 생성자의 비밀키인 지출키(Spending key) 등
채굴자는 거래 생성자의 증명값 및 검증키 등을 검증 알고리즘에 넣어 결과(참/거짓) 확인
② ~ ③ 과정을 반복 수행하여 결과가 모두 “참”일 경우 해당 거래를 타당한 거래로 인정
  • 영지식 증명은 타인에게 자신의 정보를 노출하지 않고도 주장을 증명할 수 있으므로 개인정보 보호에 효과적이지만 영지식 증명은 증명 과정을 여러 번 수행해야하므로 컴퓨팅 자원(전력, 메모리 등)이 많이 소요되는 등의 단점 존재
  • 영지식 증명을 실현하기 위해 알고리즘 성능 향상을 위한 연구가 필요하며, 알고리즘 성능 향상으로 개인정보 보호가 요구되는 분야에서 영지식 증명 사용이 증가할 것으로 전망

 
[참고]

  • 대한전자공학회, 영지식 대화형 증명 방식 및 응용 프로토콜
  • 금융보안원, 전자금융과 금융보안(영지식 증명의 개념 및 활용 사례)
2 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^