# KZG & PlonK

> "Groth16이 실사용을 지배하는데, 왜 새로 나오는 프로토콜은 전부 PlonK와 KZG를 쓰는 걸까?"

이 질문을 이해하면 ZK 스택의 진화 방향이 한눈에 보인다.

**KZG**는 다양한 ZKP 시스템의 기초를 이루는 다항식 커밋먼트 기술이며, PlonK는 이러한 커밋먼트를 활용해 범용 회로에 대한 효율적인 증명을 생성하도록 설계된 모던 SNARK 프로토콜이다. KZG 다항식 커밋먼트는 단일 커밋으로 전체 다항식을 은닉·고정하고 특정 점에서의 평가값이 올바른지 짧고 빠르게 증명할 수 있게 하여, 여러 ZK 프로토콜에서 핵심적인 기반 구조를 제공한다.&#x20;

**PlonK**는 Groth16과 같은 기존 SNARK와 비교해 더 높은 범용성과 재사용성을 제공하도록 설계되었으며, Universal Setup과 유연한 산술화 기법을 통해 다양한 회로를 효율적으로 증명할 수 있다.

이 섹션에서는

* Pedersen과 KZG 커밋먼트의 구조적 차이
* KZG가 왜 모던 ZK 프로토콜의 기본 선택지가 되었는지
* PlonK가 어떻게 이 커밋먼트를 활용해 범용 회로 증명을 구성하는지

를 단계적으로 풀어본다. ZK를 이해하는 사람이 되고 싶은 독자라면, 이 섹션이 좋은 출발점이 될 것이다.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://upsidezkp.gitbook.io/upside-zkp-docs/step-2/kzg-plonk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
