# KZG 커밋먼트 (Kate–Zaverucha–Goldberg Polynomial Commitment)

KZG 다항식 커밋먼트(Kate–Zaverucha–Goldberg Commitment)는 2010년 아니켓 케이트(Aniket Kate), 그레고리 자베루차(Gregory Zaverucha), 이언 골드버그(Ian Goldberg)가 발표한 기법입니다. 다항식 전체를 타원곡선 점 하나로 커밋하고, 원하는 점에서의 값을 상수 크기 증명 하나로 공개·검증할 수 있습니다.

## 자세히 알아보기

먼저 신뢰 설정으로 비밀 값 τ의 거듭제곱 [1], [τ], [τ²], …, [τᵈ]를 곡선 점 형태로 공개합니다(τ 자체는 폐기). 다항식 p(x)의 커밋먼트는 C = [p(τ)]로, 공개된 점들의 선형 결합으로 계산됩니다. 점 z에서 값 y = p(z)를 열 때는 몫 다항식 q(x) = (p(x) − y)/(x − z)를 계산해 증명 π = [q(τ)]를 냅니다. 검증자는 페어링 등식 e(C − [y], [1]₂) = e(π, [τ − z]₂)를 확인합니다.

커밋먼트와 증명은 다항식 차수와 무관하게 곡선 점 하나(BLS12-381 G₁에서 48바이트)이고, 검증은 페어링 두 번 수준으로 끝납니다. 여러 점을 한꺼번에 여는 배치 증명도 가능합니다. 이 효율성 때문에 PLONK 등 많은 SNARK의 다항식 커밋먼트로 쓰입니다.

약점은 신뢰 설정입니다. τ를 아는 사람은 거짓 값을 여는 증명을 만들 수 있으므로, 여러 참가자가 순서대로 난수를 섞어 한 명이라도 정직하면 안전한 의식을 거칩니다. 또한 페어링 기반이므로 양자 컴퓨터에는 안전하지 않습니다.

## 블록체인·암호화폐에서는

Ethereum은 2024년 3월 Dencun 업그레이드의 EIP-4844(프로토-댕크샤딩)에서 KZG를 도입했습니다. 롤업이 올리는 각 블롭(약 128KB)은 48바이트 KZG 커밋먼트로 대표되고, 트랜잭션에는 그 해시(버전 해시)가 들어가며, 포인트 평가 프리컴파일로 블롭의 특정 값을 검증할 수 있습니다. 이를 위해 2023년 Ethereum 커뮤니티는 대규모 공개 KZG 설정 의식을 진행했으며, 매우 많은 참가자가 기여했습니다. 2025년 12월 Fusaka 업그레이드로 도입된 데이터 가용성 샘플링 PeerDAS(EIP-7594)도 같은 KZG 커밋먼트를 기반으로 합니다.

## 쉽게 말하면

긴 책 한 권을 지문 하나로 봉인해 두고, 나중에 '23쪽 셋째 줄은 이 내용'이라는 것을 책 전체를 보여 주지 않고 작은 증명서 한 장으로 확인시켜 주는 방법입니다.

## 예시

EIP-4844 블롭 하나는 32바이트 체 원소 4096개(128KiB)로 이루어지며, 이를 4095차 이하 다항식의 값으로 보고 커밋합니다. 트랜잭션에는 48바이트 커밋먼트를 SHA-256으로 해시한 뒤 첫 바이트를 버전 번호 0x01로 바꾼 32바이트 '버전 해시'가 들어갑니다.

---
출처: https://achivx.kr/glossary/kzg-polynomial-commitment-kzg-%EB%8B%A4%ED%95%AD%EC%8B%9D-%EC%BB%A4%EB%B0%8B%EB%A8%BC%ED%8A%B8/ · ACHIVX 용어 사전 · 수정일 2026-10-20
