brief
Zero-Knowledge Proof Protocols: Groth16 vs PLONK vs STARK
핵심 요약
Groth16은 가장 작은 크기(~288바이트)와 빠른 속도(<5ms)의 증명을 제공하지만 회로별 신뢰 설정(trusted setup)이 필요합니다. PLONK은 증명 시간이 더 길지만 범용적으로 재사용 가능한 설정을 제공하며, STARK는 증명 크기가 더 크고(~27KB) 검증 속도가 느린 대신 양자 내성을 제공합니다.
이 글의 핵심 주장과 근거
핵심 주장
Optimized Groth16 circuits reduce verification latency from 45ms to 8.3ms per state transition while preserving zero-knowledge properties.
직접 근거: [1] ZeroInput 직접 경험 (Performance Benchmarks: zkSNARK Circuit Optimization for Trust Graph Real-Time Constraints)
핵심 주장
필드: claim_text
원문:
PLONK의 범용 신뢰 설정(universal trusted setup)은 회로별 MPC 세리머니를 제거하여, 단 한 번의 세리머니로 최대 크기까지의 모든 회로를 지원함으로써 운영 오버헤드를 줄이는 동시에 약 2KB의 증명 크기를 유지합니다.
핵심 주장
Verification success rate reaches 98.9% for zk-STARK versus 96.4% for PLONK under a 10k messages/sec workload, indicating higher reliability.
Trusted Setup Requirements
Groth16 은 각 회로별로 독립된 trusted setup을 수행해야 하며, MPC 기반 다중 참여자 cerimony를 통해 toxic waste를 안전하게 생성하고 폐기한다. PLONK 은 하나의 universal CRS를 모든 회로에 재사용할 수 있지만, private proving key가 유출될 경우 모든 증명이 위조될 위험이 있다.
Proof Size and Verification Performance
Groth16 의 증명 크기는 약 288 바이트로 가장 작으며, 검증 시간은 5ms 이하로 매우 빠르다. PLONK 은 증명 크기가 약간 늘어나지만 여전히 효율적이며, STARK 는 약 27KB 로 크게 증가하고 검증도 느려 온‑체인 가스 비용이 높아진다.
Quantum Resistance and Practical Deployment
STARK는 순수 해시 기반으로 Shor 알고리즘 공격에 이론적으로 저항성이 있으나, 증명 크기 증가와 프로버 시간 지연으로 인해 L1 가스 비용이 크게 상승한다. 실제 서비스에서는 트랜잭션 처리량, 병렬 실행 전략, 업그레이드 가능성 등을 종합적으로 고려해야 한다.