영지식 증명

From CS Wiki
Revision as of 08:19, 24 November 2019 by PE가즈아 (talk | contribs)
ZKP; Zero-Knowledge Proof
prover가 자신이 알고 있는 지식을 공개하지 않으면서, 그 지식을 알고 있다는 사실을 verifier에게 증명하는 proof system
  • 1980년대 MIT의 Shafi Goldwasser, Silvio Micali and Charles Rackoff가 처음 제시

조건

  • 완전성(completeness)
    • 어떤 조건이 참이라면 신뢰할 수 있는 검증자(honest verifier)는 신뢰할 수 있는 증명자(honest prover)에 의해 이 사실을 납득할 수 있어야 한다.
  • 건전성(soundness)
    • 어떤 조건이 거짓이면 신뢰할 수 없는 증명자(dishonest prover)는 거짓말을 통해 검증자에게 조건이 참임을 절대 납득시킬 수 없다.
  • 영지식성(zero-knowledge)
    • 어떤 조건이 참일 때, 검증자는 이 조건이 참이라는 사실 이외의 아무 정보를 알 수 없다.

Non-interactive ZKP

Prover와 Verifier가 온라인 상태가 아니더라도 영지식 증명 가능

zk-SNARKs

Non-interactive ZKP의 proof size를 줄인 실용 모델
  • 지캐시에서 도입