Zk-SNARKs

From CS Wiki
Zero-Knowledge Succinct Non-Interactive Argument of Knowledge
기존의 영지식 증명을 좀 더 간결하고(Succinct) 비상호적인 환경(Non-Interactive)에서 적용 가능하도록 변형한 기술
  • 지캐시(Zcash)에서 시작

특징[edit | edit source]

  • 영지식(ZKP)
  • 간결성(Succinct): Non-interactive ZKP의 계산 과부하 해소
  • 타원곡선(ECC): 비대칭키를 이용한 수학적 증명

절차[edit | edit source]

  • Keygen: Key Generator를 이용해 Key Pair (Pk, Vk)를 생성하는 과정
  • Prove: Prover가 Proof 를 생성하는 과정
  • Verify: Verifier가 Proof를 Verifying하는 과정

활용성[edit | edit source]

  • 확장성(Scalability): append-only 블록체인의 용량 감소 가능
  • 익명성

활용[edit | edit source]

  • 지캐시: zk-SNARKs를 이용하여 익명 코인 실현
    • Shielded Address와 Transparent Address 사용
  • 코다: zk-SNARKs사용하여 원본 검증 생략, 확장성 도모
  • 이더리움: 익명성, 확장성을 위해 zk-SNARKs 적용 연구 중

한계[edit | edit source]

  • 신뢰 기관(Trusted Party)의 존재
  • 증명 생성을 위한 부하
  • 양자컴퓨팅에 취약