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) 등 |
③ | 채굴자는 거래 생성자의 증명값 및 검증키 등을 검증 알고리즘에 넣어 결과(참/거짓) 확인 |
④ | ② ~ ③ 과정을 반복 수행하여 결과가 모두 “참”일 경우 해당 거래를 타당한 거래로 인정 |
- 영지식 증명은 타인에게 자신의 정보를 노출하지 않고도 주장을 증명할 수 있으므로 개인정보 보호에 효과적이지만 영지식 증명은 증명 과정을 여러 번 수행해야하므로 컴퓨팅 자원(전력, 메모리 등)이 많이 소요되는 등의 단점 존재
- 영지식 증명을 실현하기 위해 알고리즘 성능 향상을 위한 연구가 필요하며, 알고리즘 성능 향상으로 개인정보 보호가 요구되는 분야에서 영지식 증명 사용이 증가할 것으로 전망
[참고]
- 대한전자공학회, 영지식 대화형 증명 방식 및 응용 프로토콜
- 금융보안원, 전자금융과 금융보안(영지식 증명의 개념 및 활용 사례)
View Comments (2)
도리님 ! 도리님의 웹 페이지 너무 잘보고 있습니다,
카테고리들에 대해서 랜덤으로 접근할 수 있는 페이지를 하나만 만들어 주실 수 있을까요?
(랜덤으로 하나하나 공부하고싶어서 그렇습니다)
도움이 되신다니 다행입니다. 블로그 내 기술 토픽들은 대부분 다른 토픽들의 요소 기술이거나 진화 또는 기반이 된 기술이기 때문에 랜덤으로 공부하시는 것보다는 하나의 토픽을 공부하시면서 해당 토픽과 관련된 토픽 위주로 확장시키면서 공부하시는 것이 효과적입니다.
카테고리별 랜덤 페이지는 저도 고민해보겠습니다. 지금 꼭 랜덤으로 공부하시고 싶으시면 블로그 오른쪽 카테고리 링크를 클릭하셔서 맨 아래쪽 "