PLONK (Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge)

암호학수정일

PLONK는 2019년 아리엘 가비존(Ariel Gabizon), 재커리 윌리엄슨(Zachary Williamson), 오아나 치오보타루(Oana Ciobotaru)가 발표한 zk-SNARK 체계입니다. 이름은 'Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge'의 약자로, 하나의 범용(universal)·갱신 가능(updatable) 신뢰 설정을 모든 회로에 재사용할 수 있다는 점이 핵심입니다.

자세히 알아보기

PLONK는 회로를 '게이트 제약'과 '복사 제약'으로 나눠 표현합니다. 각 게이트는 qL·a + qR·b + qO·c + qM·a·b + qC = 0 형태의 식으로 덧셈·곱셈을 모두 표현하고, 서로 다른 게이트의 선(wire)이 같은 값이어야 한다는 조건은 순열 논증(permutation argument)으로 증명합니다. 이 모든 조건을 다항식으로 묶은 뒤 다항식 커밋먼트(원래 설계에서는 KZG)로 커밋하고 특정 점에서의 값만 공개해 검증합니다.

Groth16은 회로마다 별도 신뢰 설정이 필요하지만, PLONK는 정해진 최대 크기 이하의 회로라면 한 번 만든 설정(구조화된 참조 문자열, SRS)을 그대로 씁니다. 또한 누구나 새 난수를 추가해 설정을 갱신할 수 있습니다. 증명은 Groth16보다 몇 배 크고(그래도 1KB 미만) 검증도 조금 더 비싸지만, 회로를 자주 바꾸는 개발 환경에서 훨씬 실용적입니다.

PLONK 이후 '플롱키시(PLONKish)'라 불리는 변형이 많이 나왔습니다. 맞춤 게이트를 추가한 TurboPLONK, 조회 표(lookup)를 지원하는 UltraPLONK·Plookup, 그리고 KZG 대신 내적 논증(IPA)을 써서 신뢰 설정을 없앤 Halo 2 등이 대표적입니다.

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

PLONK 저자 중 재커리 윌리엄슨이 공동 창업한 Aztec은 Ethereum 위 프라이버시 레이어 2에 PLONK 계열 증명을 사용합니다. Zcash는 2022년 NU5 업그레이드의 Orchard 풀에서 PLONKish 산술화를 쓰는 Halo 2를 도입해 신뢰 설정이 필요 없게 되었습니다. 여러 zk 롤업과 zkEVM도 PLONK 계열 산술화와 KZG 커밋먼트를 조합해 사용합니다.

쉽게 말하면

문제마다 새 시험지 양식을 인쇄하던 방식(Groth16) 대신, 어떤 문제든 받을 수 있는 범용 답안지를 한 번 만들어 계속 쓰는 방식입니다.

예시

게이트 식에서 qM = 1, qO = −1, 나머지를 0으로 두면 a·b = c(곱셈 게이트)가 되고, qL = qR = 1, qO = −1이면 a + b = c(덧셈 게이트)가 됩니다. 선택자(selector) 값만 바꿔 같은 식으로 여러 종류의 게이트를 표현하는 것이 PLONK의 단순함입니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.