Zk-SNARKs
From IT Wiki
- Zero-Knowledge Succinct Non-Interactive Argument of Knowledge
- 기존의 영지식 증명을 좀 더 간결하고(Succinct) 비상호적인 환경(Non-Interactive)에서 적용 가능하도록 변형한 기술
- 지캐시(Zcash)에서 시작
특징
- 간결성(Succinct): Non-interactive ZKP의 계산 과부하 해소
- 확장성(Scalability): append-only 블록체인의 용량 감소 가능
- 타원곡선(ECC): 비대칭키를 이용한 수학적 증명
절차
- Keygen: Key Generator를 이용해 Key Pair (Pk, Vk)를 생성하는 과정
- Prove: Prover가 Proof 를 생성하는 과정
- Verify: Verifier가 Proof를 Verifying하는 과정
활용
- 지캐시: zk-SNARKs를 이용하여 익명 코인 실현
- Shielded Address와 Transparent Address 사용
- 코다: zk-SNARKs사용하여 원본 검증 생략, 확장성 도모
- 이더리움: 익명성, 확장성을 위해 zk-SNARKs 적용 연구 중
한계
- 신뢰 기관(Trusted Party)의 존재
- 증명 생성을 위한 부하
- 양자컴퓨팅에 취약