zk-SNARK
zero-knowledge succinct non-interactive argument or knowledge
Zero Knowledge의 한 형태
프라이버시 강화와 데이터 최소 공개를 목표로 하는 애플리케이션에서 필수적인 기술로 사용
Zero-Knowledge (영지식): 앞서 설명한 것처럼, 아무런 정보를 공개하지 않고 자신이 특정 사실을 알고 있음을 증명하는 개념입니다.
Succinct (간결성): 증명이 매우 짧고, 검증하는 데 시간이 적게 걸린다는 것을 의미합니다. 블록체인 환경에서는 빠른 검증이 중요하기 때문에 이 부분이 중요한 특징입니다.
Non-Interactive (비대화형): 전통적인 영지식 증명 방식에서는 여러 차례 상호작용이 필요할 수 있지만, zk-SNARK는 한 번의 증명으로 충분합니다. 증명자와 검증자가 계속 소통할 필요가 없죠.
Argument of Knowledge (지식의 주장): 증명자가 실제로 알고 있는 사실에 기반한 주장을 의미합니다. 증명자가 거짓으로 증명하는 것은 매우 어렵습니다.
# zk-SNARK의 활용 예시
- 프라이버시를 보호하는 데 많이 사용
- 예를 들어, Zcash 같은 암호화폐는 zk-SNARK를 사용하여 거래의 세부사항(보낸 사람, 받은 사람, 금액 등)을 공개하지 않으면서도 거래가 유효함을 증명할 수 있습니다.
# 작동 방식
- 증명자(Prover): 자신이 알고 있는 정보(예: 암호화된 거래 데이터)가 유효함을 증명합니다.
- 검증자(Verifier): 증명자의 주장을 검증하지만, 그 과정에서 증명자가 실제 정보를 노출하지는 않습니다.