PLONK 증명 시스템 실무 FAQ: 커밋먼트 검증·음악제 최적화·Permutation Argument 디버깅
PLONK은 보편적 업데이트 가능한 트러스트드 세팅을 제공하여 회로별 별도 세팅이 필요 없고, 하나의 파라미터를 다양한 애플리케이션에서 공유할 수 있다. 증명 크기는 Groth16의 288바이트 대비 평균 2.7KB로 10~100배 크지만, 검증 속도는 5ms 이하를 유지하여 온체인 검증에 충분한 성능을 제공한다. 현재 대부분의 롤업 및 온체인 서비스가 PLONK을 채택하고 있으며, 퀀텀 저항성이 필요한 경우에만 STARK가 선택된다.
이 글의 핵심 주장과 근거
PLONK과 Groth16의 핵심 차이
- **트러스트드 세팅**: Groth16은 회로마다 별도 세팅이 필요하고, PLONK은 보편적·업데이트 가능한 파라미터 하나를 공유한다. - **증명 크기**: Groth16은 288바이트 수준, PLONK은 평균 2.7KB(10~100배 larger)로 larger하지만 여전히 온체인 검증에 충분히 빠름. - **검증 시간**: 양 모두 5ms 이하에서 검증이 가능하며, 실시간 서비스에 적합하다.
보편적 트러스트드 세팅과 업데이트 가능성
PLONK의 세팅은 초기 랜덤 값 s와 그 제곱들을 공개한 후, 검증키를 이용해 파라미터를 업데이트한다.이를 통해 새로운 회로나 확장된degree에 대해 추가 세팅 없이도 활용할 수 있다. 이 특성은 다양한 애플리케이션을 하나의 세팅으로 지원하는 유연성을 제공한다.
STARK와 PLONK 선택 가이드
- **보안 요구**: 퀀텀 저항성이 필수이면 STARK를, 일반적인 온체인 환경에서는 PLONK이 채택된다. - **성능 트레이드오프**: PLONK은 증명 크기가 크고 검증 비용이 다소 높아지만, 검증 속도와 가스 비용 면에서 현재 레이어2·롤업에 최적화되어 있다. - **생태계 지원**: Starknet 등 post‑quantum 프로젝트에서는 STARK를, 대부분의 Rollup 프로젝트에서는 PLONK 기반의 zk‑Rollup이 사용된다.