블록체인 영지식 증명에 대한 공부 내용을 작성한다.
영지식 증명은 1985년 The Knowledge Complexity of Interactive Proof-Systems
에서 처음 소개된 개념
비대면 통신 프로토콜에서 정보보호 기능을 제공하기 위해 암호기술을 적용하는 암호 프로토콜 중 고급 프로토콜로 취급
제로코인(ZeroCoin
)에서 처음 적용되어, 제로캐시(ZeroCash
), 지캐시(Zcash
)로 변경
증명자가 제공한 정보의 증명을 통해 악의적인 검증자가 검증을 수행할 수 있지만, 증명자의 정보 자체에 대해서는 유추할 수 없는 증명 시스템이 필요, 영지식 증명이 등장
증명자가 자신이 알고 있는 지식과 정보를 공개하지 않고, 그 지식을 알고 있다는 사실을 검증자에게 증명하는 시스템.
증명자(prover
)는 자신이 해당 지식을 알고 있음을 증명하는 주체
검증자(verifier
)는 증명자가 해당 지식을 알고 있다는 사실을 검증해주는 주체
영지식 증명의 이론적 기반은 대화형 증명 시스템(interactive proof system
)
영지식 증명은 3가지 조건을 만족
completeness
): 어떤 조건이 참인 경우, 신뢰할 수 있는 검증자(honest verifier
)는 신뢰할 수 있는 증명자(honest prover
)에 의해 사실을 납득할 수 있어야함soundness
): 어떤 조건이 거짓인 경우, 신뢰할 수 없는 증명자(dishonest prover
)는 거짓말을 통해 검증자에게 조건이 참임을 절대 납득시킬 수 없음zero-knowledge
): 어떤 조건이 참일 때, 검증자는 이 조건이 참이라는 사실 이외의 아무 정보를 알 수 없음영지식 증명의 주 예시로 나오는 알리바바의 동굴
찰리 - 증명자, 스미스 - 검증자 라고 가정
찰리와 스미스는 비밀문이 있는 동굴에 도착함. 고리 형태의 동굴에는 A
, B
길이 있으며 그 중간에는 도어락이 설치된 문이 있음
찰리는 스미스에게 비밀문의 암호를 알고 있다 말했지만, 암호를 밝히고 싶지 않음
스미스는 이에 대해 찰리에게 암호를 알고 있음을 증명하라고 함
찰리가 동굴에 들어간 다음, 도어락 근처로 이동 후 스미스를 부름
스미스는 A
, B
길 중 하나를 선택 후 찰리에게 자신이 있는 쪽으로 나오라고 함
스미스가 말한 쪽으로 찰리가 나오면 찰리가 비밀번호를 알고 있는 것이 증명 (여러번 반복 한 경우)
영지식 증명의 경우 증명 과정에 참여한 증명자와 검증자만 사실 확인이 가능하며, 이 증명을 관찰하는 제 3자는 증명자가 정말 해당 내용을 알고 있는지 확신할 수 없게 만든다는 특징 존재
개인정보보호를 중요시하는 프라이버시 코인(privacy coin
)에 주로 활용
암호화폐 거래에서 거래 제공자가 공개하는 것 외의 정보는 제공 받는 사람이 알 수 없도록 분산화 기술로 설계 됨
거래 내역은 블록체인에 게시되지만, 거래 상대자의 신원 및 금액은 암호화되어 보안 유지 가능