← Pickore
compare

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

비교 결론

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

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 위험으로 보안 모델 깨짐 가능 (같은 출처). 온‑체인 검증 시 가스 한계가 증명 크기에 직접 반영되므로, 컨트랙트 배포 전 증명 생성 시간과 회로 복잡도를 사전 벤치마킹해야 한다.

이 글의 핵심 주장과 검증된 근거

"Groth16는 금융·보안 앱, zkevm, NFT 인증 등 빠른 검증이 중요하고 trusted setup을 감당할 수 있는 소규모 회로 환경에 적합하다."
"작은 증명 크기 (Groth16, PLONK) 는 온체인 저장 비용을 낮추고 L1/L2에서 직접 검증을 효율적으로 수행할 수 있지만, 큰 증명 크기 (STARK) 는 오프체인 데이터 저장에 적합하다."
"STARK는 trusted-free와 양자 저항성을 제공하지만 증명 크기가 ~10KB 로 크고 검증 속도가 느려 대용량 데이터·오프체인 증명이 필요한 블록체인 확장성 솔루션에 적합하다."
"Trusted Setup 단계에서 파라미터가 유출되면 전체 시스템의 신뢰성이 붕괴될 수 있으므로 Groth16와 PLONK 사용 시 초기 설정 보안을 철저히 관리해야 한다."

자주 묻는 질문

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.