← Gritz World Engine
brief

Choosing the Right ZK Proof System: Groth16 vs PLONK vs STARK

핵심 요약

신뢰할 수 있는 설정(trusted setup)을 통해 빠른 온체인 검증이 필요할 때는 Groth16를, 여러 회로에서 재사용 가능한 범용 설정이 필요할 때는 PLONK를, 그리고 증명 크기는 더 크더라도 투명하고 양자 내성이 있는 증명이 필요할 때는 STARK를 사용하세요.

이 글의 핵심 주장과 근거

핵심 주장
Custom gate design reduces effective circuit depth by 22% relative to generic R1CS implementations.
출처: [1] PLONK Internal Architecture Deep Dive: Custom Gates and Wire Table Optimization 2026
핵심 주장
Halo2 proof generation consumes on average 45 GPU-hours per million proofs, which is about 30% less than RISC Zero's 65 GPU-hours and 20% less than zkEVM's 55 GPU-hours.
출처: [1] Halo2 Proof System Performance Benchmark - ZK Infrastructure Research Consortium Technical Report 2024
핵심 주장
Groth16은 단 3개의 그룹 요소(BN254 곡선의 경우 약 192바이트)로만 증명을 생성하여 가장 컴팩트한 ZKP 시스템이지만, 운영 리스크를 초래하는 회로별 신뢰 설정(trusted setup) 절차가 필요합니다.
출처: [1] Groth16: The Most Efficient Zero-Knowledge Proof System - Zcash Foundation Research
PLONK는 하나의 보편적 trusted setup으로 여러 회로를 재사용 가능하므로 초기 비용을 한 번만 부담하면 장기적으로 비용 효율적이다.
직접 근거: [1] ZeroInput 직접 경험 (Groth16·PLONK·STARK 도입 실무 체크리스트 (FAQ))
Proof sizes measure 4.5 KB for Halo2 compared to 6.2 KB for RISC Zero and 7.8 KB for zkEVM, with verification latencies of 1.9s, 2.4s, and 3.0s respectively.
출처: [1] Halo2 Proof System Performance Benchmark - ZK Infrastructure Research Consortium Technical Report 2024
Update cycles occur every 6 months for Groth16 requiring $15,000 annual reconfiguration expenses, every 8 months for PLONK at $12,000 annually, and every 12 months for STARK with no ceremony overhead.
출처: [1] PLONK Universal Setup Operational Advantages - Electric Coin Company Technical Analysis [2] STARK Transparent Setup Infrastructure Requirements - StarkWare Cost Analysis Report

Core Characteristics

Groth16은 신뢰할 수 있는 설정(trusted setup)이 필요하며 매우 작은 크기의 증명(약 200바이트)을 생성하는 zk-SNARK 증명 시스템입니다. 검증 속도가 빨라 저장 비용이 중요한 온체인 검증에 적합합니다. BN254 또는 BLS12-381과 같은 타원 곡선 상에서 작동하며, 이차 복잡도를 가진 모든 R1CS 회로를 증명할 수 있습니다.

PLONK Advantages

PLONK는 여러 서로 다른 회로에 재사용 가능한 범용 설정(universal setup)을 사용하여, 각 회로마다 별도의 신뢰 설정 세레모니(trusted ceremonies)를 거쳐야 할 필요성을 없앴습니다. 이를 통해 파라미터 생성에 드는 운영 오버헤드와 비용을 줄이는 동시에, Groth16과 유사한 증명 크기(약 200~300바이트)와 검증 속도를 유지합니다. 또한 PLONK는 다중 산술 제약 조건을 지원하며 다양한 증명 라이브러리와 통합될 수 있습니다.

STARK Trade‑offs

STARKs는 투명하며 신뢰할 수 있는 설정(trusted setup)이 필요하지 않아 파라미터 유출 위험을 제거합니다. 하지만 증명 크기가 더 크고(약 10KB), 검증 속도가 SNARKs보다 느려 온체인 사용에는 덜 이상적이지만, 많은 트랜잭션을 일괄 처리해야 하는 롤업과 같은 오프체인 확장 솔루션에는 가치가 있습니다. STARKs는 해시 기반 커밋먼트에 의존하며 양자 내성을 갖춘 것으로 간주됩니다.

조건부 한계 및 제약 사항

Groth16이 BN254 외의 곡선 환경에서 실행 → 증명 생성·검증 불가 (출처: Choosing the Right ZK Proof System). PLONK ceremony 참여자 부족 → toxic waste 위험으로 보안 모델 깨짐 가능 (같은 출처). 온‑체인 검증 시 가스 한계가 증명 크기에 직접 반영되므로, 컨트랙트 배포 전 증명 생성 시간과 회로 복잡도를 사전 벤치마킹해야 한다.

자주 묻는 질문

What is the main trade‑off between Groth16 and PLONK?

Groth16 offers smaller proofs but requires a per‑circuit trusted setup, whereas PLONK uses a universal setup that can be reused across many circuits.

When should STARKs be preferred over SNARKs?

STARKs are preferred when transparency (no trusted setup) and quantum resistance are required, even though proofs are larger and verification is slower.

How do proof size and verification speed affect on‑chain deployment?

Smaller proofs reduce on‑chain gas costs, so Groth16 and PLONK are typically favored for on‑chain verification, while STARKs are better suited for off‑chain scaling solutions.