Skip to content
Published on

제로지식증명 툴링 2026 완벽 가이드 - Circom · Noir · Aztec · Cairo · StarkNet · Risc Zero · SP1 · Plonky3 · Halo2 심층 분석

Authors

프롤로그 — 2026년, ZK는 '믿는 기술'에서 '쓰는 기술'이 되었다

2020년만 해도 제로지식증명(Zero-Knowledge Proof, ZKP)은 "이론적으로 멋진 것"이었다. 회로(circuit) 한 줄을 쓰려면 수학적 직관과 PhD 수준의 인내가 필요했고, 증명 한 번 만드는 데 분 단위가 걸렸다.

2026년의 풍경은 완전히 다르다.

  • zkVM(zero-knowledge Virtual Machine) 이 일반화돼, 평범한 Rust나 Go 코드를 그대로 증명한다. Risc Zero, SP1, Jolt, Plonky3 위에서 누구나 zkVM 코드를 짠다.
  • Circom·Noir·Cairo 같은 DSL은 회로를 "다른 언어"로 보이게 만든다. Circom 2.2, Noir 0.40, Cairo 2.x가 안정적인 도구 체계로 자리잡았다.
  • HALO2·PLONK·FRI·STARK·Groth16 같은 증명 시스템은 더이상 학술 논문이 아니라 라이브러리다.
  • 롤업(Rollup) — zkSync Era, Linea, Polygon zkEVM, Scroll, Taiko, Mantle — 이 이미 메인넷에서 수십억 달러를 처리한다.
  • 프라이버시·ID·웹2 브리지 — Aztec, Aleo, Penumbra, Manta, zkPassport, Anon Aadhaar, Reclaim, Sismo, TLSNotary, zkEmail — 이 ZK를 "지갑 너머"로 끌어내고 있다.

ZK는 더 이상 신비주의가 아니다. 도구다. 이 글은 그 도구 전체 지형을 한 번에 정리한다.

한 줄 요약: "증명하고 싶은 것은 무엇이고, 그것을 누가 어디서 검증할 것이며, 비용은 얼마인가." 이 세 질문이 ZK 툴링 선택의 90%를 결정한다.


1장 · ZK 기초 — SNARK와 STARK, 그리고 그 사이의 모든 것

ZK 시스템은 형식적으로 세 성질을 만족해야 한다.

성질의미
Completeness증명자가 진실을 알면 검증자가 받아들인다
Soundness증명자가 거짓이면 검증자가 압도적 확률로 거부한다
Zero-Knowledge검증자는 "사실"만 알고 "어떻게" 는 모른다

여기에 실용 측면으로 succinctness(증명이 짧다)와 non-interactivity(왕복 없이 한 번에 끝)를 더하면 우리가 흔히 말하는 ZK 증명 시스템이다.

핵심 분류 두 줄:

  • SNARK — Succinct Non-interactive ARgument of Knowledge. 짧고 빠르게 검증. 다수가 페어링 기반.
  • STARK — Scalable Transparent ARgument of Knowledge. 무작위 신뢰 셋업 없음(transparent). 양자 내성(post-quantum).

표로 압축하면 이렇다.

항목SNARKSTARK
셋업trusted setup 필요(또는 universal)transparent, 셋업 없음
증명 크기작다(수백 바이트)크다(수십~수백 KB)
검증 비용매우 저렴더 비쌈
증명 비용보통일반적으로 더 저렴
수학 기반페어링·이산로그해시·FRI
양자 내성보통 없음있음

2026년에는 한쪽만 쓰는 시대가 아니다. 롤업이 STARK로 증명을 만들고 SNARK로 압축(recursion) 하는 식의 하이브리드가 표준이 됐다.


2장 · 다항식 IOP와 commitment scheme — 모든 ZK의 공통 뼈대

거의 모든 현대 ZK 시스템은 같은 청사진을 공유한다.

  1. 회로(arithmetic circuit) 혹은 AIR(Algebraic Intermediate Representation)를 만든다.
  2. 이를 다항식(polynomial)으로 환원한다.
  3. 증명자가 다항식에 commitment를 보낸다. 그 다항식을 공개하지 않은 채로 그 값에 묶는다.
  4. 검증자가 랜덤 challenge를 보낸다. 증명자가 그 점에서의 값을 열어 보인다.
  5. 검증자가 그 값이 회로 조건을 만족하는지 검증한다.

여기서 갈라지는 핵심 선택지가 polynomial commitment scheme이다.

커밋먼트기반사용 시스템
KZG페어링, trusted setupPLONK, Sonic
IPA이산로그, transparentHALO2, Bulletproofs
FRI해시, transparentSTARK, Plonky2/3, SP1
Brakedown해시Spartan, Brakedown

상위 레벨 프로토콜이 같아도 커밋먼트가 바뀌면 성능 곡선이 바뀐다. "PLONK over KZG" 와 "PLONK over FRI"는 다른 시스템이다.


3장 · Groth16 — 2016년의 클래식, 2026년에도 살아있다

Groth16 은 2016년 Jens Groth가 발표한 페어링 기반 SNARK다. 증명 크기가 약 192바이트, 검증이 페어링 몇 번이면 끝나서 온체인 검증이 매우 싸다. 단점은 회로마다 새 trusted setup(circuit-specific Powers of Tau ceremony)을 해야 한다는 것.

대표 도구는 snarkjsZoKrates. Circom으로 회로를 쓰고 snarkjs로 Powers of Tau를 진행한 뒤 키를 생성한다.

# 의사 명령 흐름 — Groth16 + Circom + snarkjs
circom mycircuit.circom --r1cs --wasm --sym
snarkjs powersoftau new bn128 14 pot14_0000.ptau
snarkjs powersoftau contribute pot14_0000.ptau pot14_0001.ptau
snarkjs groth16 setup mycircuit.r1cs pot14_final.ptau circuit.zkey
snarkjs groth16 prove circuit.zkey witness.wtns proof.json public.json
snarkjs groth16 verify verification_key.json public.json proof.json

Groth16은 여전히 "온체인 검증이 가장 싼" 시스템이다. 그래서 Tornado Cash, Semaphore, RAILGUN 같은 프라이버시 도구와 zkSync Lite 같은 1세대 롤업이 모두 Groth16을 썼다. 단점인 회로별 셋업이 견딜 만한 영역, 즉 "정해진 회로 하나"인 곳에서는 2026년에도 여전히 합리적 선택이다.


4장 · PLONK — Aztec, 2019년의 일반화

PLONK(Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge)는 2019년 Ariel Gabizon, Zac Williamson, Oana Ciobotaru가 Aztec Network에서 발표했다. 핵심은 universal trusted setup — 한 번의 셋업으로 같은 크기의 모든 회로를 처리한다. 회로를 바꿔도 셋업을 다시 안 해도 된다.

PLONK의 등장은 custom gateslookup arguments(Plookup, cq, lasso 등)의 폭발로 이어졌다. 단순 R1CS(Rank-1 Constraint System) 보다 표현력이 훨씬 높다. 해시, ECDSA, EVM 명령어 같은 무거운 연산도 효율적으로 인코딩된다.

PLONK의 진짜 의미는 "공통 셋업 + 다양한 회로" 였다. 이게 zkRollup이 언어(EVM 호환)를 증명하는 길을 열었다.

Groth16:  circuit_A -> setup_A   circuit_B -> setup_B   ...
PLONK:    setup once         ->  circuit_A, circuit_B, ...  (universal SRS)

Aztec, Polygon zkEVM, zkSync Era(Boojum 이전), Halo2(PLONK-ish) — 2020년대 중반 ZK 풍경의 절반이 PLONK 변형 위에 있다.


5장 · HALO2 — 셋업 없음, Zcash의 선택

HALO2는 Electric Coin Company(Zcash)가 만든 PLONK 계열 증명 시스템이다. KZG 대신 IPA(Inner Product Argument) 를 써서 trusted setup이 아예 없다. 셋업 의례가 사라지면 신뢰 가정이 줄어든다.

HALO2의 또 다른 강점은 재귀(recursion). 자기 자신의 증명을 자기 회로에서 다시 증명할 수 있어, 여러 증명을 하나로 압축(proof aggregation)하는 게 자연스럽다.

2026년 HALO2를 쓰는 대표 시스템들:

  • Zcash Halo2 — Orchard pool, NU5 이후의 사실상 표준.
  • Scroll zkEVM — HALO2 기반 EVM 호환 증명 회로.
  • Penumbra — Cosmos 위의 프라이빗 DEX, HALO2 기반.
  • Filecoin — Proof-of-Replication에 HALO2 활용 영역 있음.

Halo2의 약점은 검증 비용이 KZG 기반보다 비싸다는 점. 이걸 메우려고 "HALO2로 증명 만들고, 마지막에 KZG-PLONK로 한 번 더 감싸 온체인에 올린다"는 패턴이 흔하다.


6장 · STARK와 FRI — Eli Ben-Sasson의 길

STARK(Scalable Transparent ARgument of Knowledge)는 2018년 Eli Ben-Sasson 등이 StarkWare에서 정식화했다. 핵심 기술은 FRI(Fast Reed-Solomon Interactive Oracle Proof of Proximity)다. 다항식이 일정한 차수 이하임을 해시 기반 머클트리만으로 증명한다.

STARK의 매력은 세 가지다:

  1. Transparent — trusted setup이 없다. 신뢰 의례가 없다.
  2. Post-quantum — 해시 함수에만 의존하므로 양자컴퓨터에 견딘다.
  3. Prover-friendly — FFT 친화적인 작은 필드(예: Goldilocks p = 2^64 - 2^32 + 1)를 쓰면 증명 비용이 SNARK보다 훨씬 저렴해진다.

대신 증명 크기가 SNARK보다 크고(수십 KB), 온체인 검증이 비싸다. 그래서 실전에서는 STARK로 증명을 만든 뒤 SNARK로 한 번 감싸 온체인에 올리는 하이브리드가 표준이다. Polygon zkEVM, Boojum(zkSync Era), Plonky2 모두 이 패턴이다.


7장 · Circom 2.2 — 회로 DSL의 원조

Circom은 iden3가 만든 회로 DSL이다. 2026년 현재 2.2.x 라인이 유지되며, R1CS 회로의 사실상 표준 작성 언어다.

pragma circom 2.2.0;

template Multiplier() {
    signal input a;
    signal input b;
    signal output c;
    c <== a * b;
}

component main = Multiplier();

특징:

  • 정수 도메인이 아니라 유한체 F_p 위에서 동작 — 모든 산술이 모듈러.
  • 컴파일 결과는 R1CS + WASM 증인 계산기.
  • snarkjs와 함께 Groth16 / PLONK 증명 모두 가능.
  • 라이브러리 생태계가 두텁다 — circomlib(해시, 머클, EdDSA), circom-ecdsa, semaphore 등.

Circom은 여전히 학습 곡선이 가파르다. 회로를 "프로그램" 이 아니라 제약(constraint) 의 집합으로 생각해야 한다. 그래서 "Rust처럼 쓰고 싶다"는 요구가 Noir로 이어졌다.


8장 · Noir 0.40 — Aztec의 Rust-스러운 DSL

Noir는 Aztec이 만든 Rust-스러운 ZK 언어다. 2026년 0.40.x 라인이 활발히 발전 중이며, 회로를 함수형 Rust처럼 쓰게 해준다.

// Noir 예제 — 두 수의 곱을 증명, 인수는 비공개
fn main(a: Field, b: Field, c: pub Field) {
    assert(a * b == c);
}

Noir의 강점:

  • 백엔드 분리 — 같은 Noir 코드를 Barretenberg(PLONK·HONK), Plonky2, RecursionProver 같은 여러 백엔드에서 증명한다.
  • 표준 라이브러리 — 해시(Poseidon, Pedersen), 서명(ECDSA, Schnorr), 머클트리 등이 기본 제공.
  • 개발자 경험 — Rust 문법, LSP, nargo CLI(빌드·테스트·증명), noirjs JS 바인딩.
  • Aztec과의 통합 — Aztec L2 컨트랙트의 비공개 함수가 모두 Noir로 작성된다.
# Noir 워크플로
nargo new my_project
cd my_project
nargo check
nargo execute   # 증인 생성
nargo prove     # 증명 생성
nargo verify    # 검증

Noir의 한계: 회로의 본질(유한체 위의 산술)에서 완전히 자유로워질 수는 없다. 동적 길이 배열, 임의 반복문 같은 "프로그래머 본능"은 여전히 회로 비용으로 환산해야 한다. 그래도 Circom보다 진입 장벽이 훨씬 낮다.


9장 · Cairo 2 + StarkNet — STARK 친화적 풀스택

Cairo는 StarkWare가 만든 STARK 친화적 프로그래밍 언어다. 1세대 Cairo 0가 어셈블리에 가까웠다면, Cairo 2.x 는 Rust 영향이 강한 본격 고급언어다.

Cairo의 핵심 개념:

  • Cairo-VM — 모든 Cairo 프로그램이 도는 STARK-friendly VM. 트레이스가 그대로 STARK 증명의 대상.
  • Sierra IR — Cairo 소스에서 Cairo-VM 바이트코드로 가는 중간 표현. 항상 "증명 가능"함을 보장.
  • Starknet 0.13.x — Cairo로 작성된 컨트랙트가 도는 L2. 2024~2025년의 Stwo 증명자 도입과 함께 처리량이 크게 늘었다.
// Cairo 예제 — felt252(`F_p` 위의 원소)가 기본 타입
fn main(a: felt252, b: felt252) -> felt252 {
    a * b
}

Starknet 위에는 dYdX v4(이전 v3), Argent X 지갑, Briq, Realms 같은 게임이 살고 있다. 2026년 시점 Cairo는 "STARK를 처음부터 끝까지 한 언어로 다루는" 거의 유일한 풀스택 경험이다.


10장 · Risc Zero 1.x — RISC-V를 증명하다

Risc Zero는 2022년 등장 이래 zkVM 카테고리를 사실상 정의한 회사다. 2026년 1.x 라인은 다음을 포함한다.

  • zkVM — RISC-V(rv32im) 명령어 집합을 증명. 평범한 Rust 코드를 cargo risczero build로 컴파일하면 증명 가능한 ELF 바이너리가 나온다.
  • Bonsai — Risc Zero의 클라우드 증명 서비스. 무거운 증명을 위탁한다.
  • Steel — EVM 컨트랙트의 view 호출을 zkVM 안에서 실행해, EVM 상태에 대한 증명을 만든다. 사실상 "EVM 프리컴파일".
  • Boundless — 2025년 후반에 공개된 분산 증명자 네트워크. 누구나 GPU를 제공해 증명 작업을 수행하고 보상을 받는다.
// host 측 — guest 코드를 zkVM 안에서 실행
use risc0_zkvm::{default_prover, ExecutorEnv};

fn main() {
    let env = ExecutorEnv::builder()
        .write(&42_u32).unwrap()
        .build().unwrap();
    let prover = default_prover();
    let receipt = prover.prove(env, MY_GUEST_ELF).unwrap();
    receipt.verify(MY_GUEST_ID).unwrap();
}

Risc Zero의 가치는 "회로를 안 짠다"는 것이다. 이미 잘 작동하는 Rust 코드를 그대로 증명한다. 예를 들어 Helios 같은 이더리움 light client를 zkVM 안에서 돌리면 그것 자체가 "이 시점의 이더리움 헤더가 유효함"의 증명이 된다.


11장 · SP1 — Succinct Labs의 Rust 우선 zkVM

SP1(Succinct Processor 1)은 Succinct Labs가 만든 RISC-V 기반 zkVM이다. 2024년 공개돼 2025~2026년에 빠르게 자리잡았다.

SP1의 특징:

  • FRI 기반 — STARK 친화적 작은 필드 위에서 증명. Risc Zero의 회로 기반 접근보다 prover 효율이 크게 좋다.
  • Pure Rust — 호스트와 게스트 모두 표준 Rust. sp1-zkvm 크레이트로 입출력만 마크업.
  • 프리컴파일 — Poseidon, Keccak, sha256, secp256k1, BN254/BLS12-381 페어링 등 무거운 연산이 회로 수준에서 가속.
  • on-chain verifier — Groth16 / PLONK 래핑으로 이더리움 메인넷에서 직접 검증 가능.
// sp1 게스트 코드 — main 안의 모든 게 증명된다
#![no_main]
sp1_zkvm::entrypoint!(main);

fn main() {
    let n: u32 = sp1_zkvm::io::read();
    let mut sum: u32 = 0;
    for i in 1..=n {
        sum += i;
    }
    sp1_zkvm::io::commit(&sum);
}

벤치마크 측면에서 SP1은 같은 워크로드에서 Risc Zero보다 빠른 경우가 많다. 그래서 "Helios light client zkVM 증명", "EVM 블록 증명", "consensus 증명" 같은 대형 워크로드의 PoC가 빠르게 SP1로 옮겨갔다.


12장 · Plonky3 — Polygon Labs의 STARK 툴킷

Plonky2(2022)는 Polygon Zero가 만든 PLONK + FRI 하이브리드였다. Plonky3(2024) 는 그 후속으로, "어떤 STARK 시스템이든 만들 수 있는 모듈러 툴킷"으로 진화했다.

Plonky3의 구성요소:

  • field — Goldilocks, BabyBear, Mersenne31 등 작은 prime field 모음.
  • STARK 프레임워크 — AIR 정의, 트레이스 생성, FRI 증명자.
  • commitment scheme — Merkle, FRI, recursive aggregation.
  • 백엔드 호환 — RISC-V zkVM(Valida 등), Custom AIR, 모두 같은 Plonky3 위에 얹는다.
            ┌──────────────────────────────┐
            │         Plonky3 코어         │
            │  Field · AIR · FRI · Merkle  │
            └─────────┬──────────────┬─────┘
                      │              │
              zkVM 구현(Valida)   Custom AIR(Polygon zkEVM type 1)

Plonky3는 직접 손대는 일은 흔치 않지만, "왜 SP1·Polygon zkEVM이 빠른가"의 절반을 차지한다. 2026년 ZK 인프라의 보이지 않는 척추다.


13장 · Powdr · Jolt · EZKL — 새 세대 툴킷들

기존 시스템 위에 한 층 더 추상화를 얹는 세 흥미로운 프로젝트.

  • Powdr — zkVM을 짜는 "공장 도구". domain-specific zkVM(예: 비트코인 검증 전용 zkVM)을 만들 때 사용. AIR 작성, instruction set 정의, prover 백엔드 선택까지 한 도구에서.
  • Jolt — a16z crypto가 발표한 zkVM. Lasso(lookup singularity) + Spartan(R1CS sumcheck)을 핵심으로 한다. 거의 모든 RISC-V 명령을 lookup table 한 번의 조회로 처리한다는 발상이 신선했다.
  • EZKL — ZKML(ZK Machine Learning) 의 사실상 표준 도구. ONNX 모델을 받아 회로로 환원하고 증명을 만든다. "이 ML 모델이 이 입력에 대해 이 출력을 냈다"를 비공개로 증명한다.

이 세 도구는 ZK가 단일 시스템이 아니라 레이어 케이크가 됐음을 보여준다. 누군가는 Plonky3로 zkVM을 만들고, 누군가는 Powdr 위에서 도메인 특화 zkVM을 만들고, 누군가는 EZKL로 ML 추론을 거기에 얹는다.


14장 · Helios · zkEmail · zkTLS — 웹2를 온체인으로

ZK 응용의 새 물결은 "체인 안의 데이터"가 아니라 "웹2 데이터"를 온체인으로 가져오는 것이다.

  • Helios — a16z가 만든 이더리움 light client. zkVM 안에서 돌리면 "이 시점 이더리움 상태"의 증명이 된다. cross-chain 신뢰의 토대.
  • zkEmail — DKIM 서명된 이메일을 ZK로 증명. "abc@google.com 에서 온 이메일이다" 를 이메일 내용 노출 없이 증명한다. 회원가입·소셜 회복·KYC에 응용.
  • TLSNotary / zkTLS — TLS 세션에서 받은 데이터를 제3자가 검증 가능한 형태로 봉인. "이 시각 nytimes.com 응답에 이 문장이 있었다"를 증명. Reclaim Protocol이 이를 대중적으로 사용한다.
  • Anon Aadhaar / zkPassport — 인도 Aadhaar QR 또는 ICAO 9303 전자여권의 서명을 ZK로 검증. 신분증을 노출하지 않고 "성인이다", "한국인이다" 같은 사실만 공개.

이 카테고리는 2024~2026년에 가장 빠르게 자란 ZK 응용 영역이다. 온체인 자산이 아니라 오프체인 사실 을 증명한다.


15장 · L2 zk-rollup 풍경 — 메인넷에서 도는 ZK

2026년 메인넷에서 가장 큰 ZK 사용처는 결국 L2 rollup이다. 주요 플레이어를 정리한다.

롤업증명 시스템특징
zkSync EraBoojum(STARK + SNARK 래핑)가장 큰 TVL, 자체 가상머신(EraVM)
Lineagnark 기반 PLONKConsenSys, EVM type 2
Polygon zkEVMPlonky2 → Plonky3EVM type 2/3
ScrollHALO2EVM type 2, 모듈러 회로
TaikoSGX + ZK 다중 증명based rollup, EVM type 1 목표
MantleOP Stack + EigenDA + ZKoptimistic-zk 하이브리드
AztecNoir + PLONK + UltraHONK프라이버시 우선 L2
StarknetCairo + Stwonon-EVM, 가장 다른 길

대부분의 롤업은 STARK로 증명을 만들고 마지막에 SNARK로 래핑해 온체인에 올리는 동일한 패턴을 쓴다. 차이는 "어느 단계의 EVM 호환을 목표로 하는가"(type 1 ~ type 4)와 "어떤 회로 라이브러리를 만드는가"이다.


16장 · EigenLayer와 EigenDA — ZK와 인접한 모듈러 인프라

EigenLayer는 ZK 자체는 아니지만 ZK 롤업의 비용 구조를 바꾸는 핵심 인프라다. 이더리움에 스테이킹된 ETH를 재스테이킹(restaking) 해, 그 보안을 다른 서비스(AVS, Actively Validated Service)에 빌려준다.

EigenDA는 그 위에서 도는 데이터 가용성(Data Availability) 레이어다. 롤업이 calldata를 이더리움 메인넷에 직접 올리는 대신, EigenDA에 올리고 KZG 커밋먼트만 메인넷에 남긴다. 비용이 10배 이상 떨어진다.

ZK 롤업의 입장에서 EigenDA는 "증명 생성 비용은 더 이상 문제가 아니지만, 데이터 비용은 여전히 비싸다"는 2024~2025년 병목을 푼다. Mantle, Celo L2 같은 곳이 이미 EigenDA를 채택했고, 2026년에는 Linea·Scroll도 옵션으로 지원한다.


17장 · 프라이버시 응용 — Tornado Cash 이후의 풍경

2022년 미국 OFAC의 Tornado Cash 제재는 ZK 프라이버시 도구 전반에 큰 충격이었다. 그 이후 풍경이 둘로 갈라졌다.

한쪽 — "응용은 합법, 도구는 중립" 을 가져가려는 시도. Aztec Network(L2 위에 비공개 노트와 공개 노트를 분리), Aleo(레이어1 자체가 프라이빗), Penumbra(Cosmos 위 프라이빗 DEX), Manta(EVM 호환 프라이버시 L2). 이들은 사용자 식별·AML·trace ability를 ZK로 선택적으로 노출한다.

다른 쪽 — RAILGUN, Privacy Pools(Vitalik 등 2023 제안)처럼 합법 자금만 받는 프라이버시 풀을 ZK로 증명한다. "이 자금이 알려진 해킹·범죄와 무관함"을 ZK로 증명해야 풀에 들어갈 수 있다.

기술적으로는 둘 다 같은 도구 — Poseidon 해시·머클트리·nullifier — 위에 있다. 정책 측에서 갈릴 뿐이다.


18장 · ZK 신원(Identity) — zkPassport · Anon Aadhaar · Sismo

ZK의 가장 직관적인 응용 중 하나는 신원이다. "나는 18세 이상이다" 같은 사실을 신분증을 통째로 보여주지 않고 증명한다.

  • zkPassport — ICAO 9303 표준 전자여권의 디지털 서명을 ZK로 검증. 국가, 출생년도, 성별 같은 속성만 공개. iOS/Android 앱과 웹 SDK.
  • Anon Aadhaar — 인도 Aadhaar QR 코드의 RSA 서명을 ZK로 검증. "내가 인도인이다" 만 증명, 12자리 Aadhaar 번호는 비공개.
  • Reclaim Protocol — TLSNotary 기반으로 웹2 서비스(우버, 링크드인, 카카오 등)의 데이터를 ZK 증명. "내가 5점짜리 우버 드라이버다" 같은 사실 증명.
  • Sismo — 온체인 데이터로부터 ZK 기반 attestation 생성. "이 지갑의 소유자가 ENS DAO 투표자다" 같은 ZK 배지.
  • World ID — Worldcoin이 만든 ZK 기반 sybil 저항 신원. 홍채 스캔으로 1인 1ID, 사용 시 ZK로만 노출.

ZK 신원은 "지갑 주소가 진짜로 누구인지"를 처음으로 풀어준다 — 그것도 노출 없이.


19장 · 한국·일본의 ZK 프로젝트 — 동아시아 풍경

ZK 풍경은 미국·유럽 중심으로 보이지만, 동아시아의 움직임도 무시할 수 없다.

한국:

  • Krust(Klaytn ZK) — 카카오 계열 Klaytn의 ZK 롤업 연구. 2024년 Kaia 통합 이후 ZK 보안 분석·연구 라인이 유지.
  • Sphinx Labs — Cosmos/이더리움 기반 ZK 응용. 특히 ZK 게이밍·아이덴티티 영역.
  • Sygnum Korea — 스위스 디지털 자산은행 Sygnum의 한국 라인. ZK 기반 프라이버시 결제·기관 트레이딩 PoC.
  • Theta Labs Korea — 비디오 스트리밍에 ZK 적용(콘텐츠 권리 증명).
  • Onther / EIP-4337 한국 그룹 — ZK 기반 account abstraction 응용.

일본:

  • Astar Network(ZK 스택) — Polygon CDK 기반 Astar zkEVM. 2024년 SoneiumL2와 함께 일본 web3 인프라의 두 축.
  • Soneium — Sony Block Solutions Labs가 만든 OP Stack L2. ZK 단계는 아니지만 2026년 ZK 단계 도입 로드맵이 공개됨.
  • zkSync Japan / Polygon Japan — 양사 모두 일본 법인을 통해 게이밍·결제 파일럿 진행.
  • Oasys / Imtoken Japan — 게임 체인 + ZK identity 통합 시도.
  • Startale Labs — Astar 창립자의 후속 프로젝트, ZK 스택 위 게이밍·결제.

동아시아의 ZK 사용은 미국처럼 DeFi가 아니라 게이밍·결제·신원에 무게가 실린다. 규제 환경이 다르기 때문이다.


20장 · 증명 비용 — 누가 얼마나 빠른가

2026년 시점 대표 zkVM의 증명 비용(RISC-V 사이클당, 단일 GPU 기준 대략치):

시스템상대 속도비고
Plonky3 기반 SP1가장 빠른 그룹FRI + 작은 필드 + 프리컴파일
Risc Zero 1.x빠른 그룹회로 기반, GPU 친화
Jolt실험적이지만 매우 유망Lasso + Spartan
일반 Circom/Groth16느림(작은 회로 한정)회로별 셋업 필요

핵심: zkVM은 같은 워크로드라도 프리컴파일의 유무에 따라 10배 이상 차이가 난다. SP1이 빠른 이유의 절반은 Poseidon, sha256, secp256k1 같은 무거운 연산을 회로 수준에서 미리 박아뒀기 때문이다.

Boundless, Succinct Prover Network, Nethermind ZK Prover 같은 prover marketplace가 자리잡으면 증명자는 "내가 직접 GPU 사는" 게 아니라 "시장에서 사는" 자원이 된다. 2026년은 그 전환의 한복판이다.


21장 · ZK + AI — Verifiable ML과 데이터 출처

ZK와 AI는 두 방향으로 만난다.

  1. Verifiable Inference — "이 모델이 이 입력에 대해 이 출력을 냈다"를 ZK로 증명. EZKL이 대표. 모델 가중치는 비공개로 두고 추론만 증명. 의료·금융처럼 모델을 공개할 수 없는 영역에서 강력.
  2. Verifiable Training / Provenance — 학습 데이터, 학습 절차, 결과 모델의 무결성을 ZK로 증명. 2024~2026년 학술 단계지만 Modulus Labs, Giza, Spectral 같은 회사가 PoC를 내고 있다.

ZK와 LLM의 결합은 더 흥미롭다. 온체인 ML 추론(작은 LLM, 분류기) 은 2026년에 실용권이고, "이 응답이 정말 GPT-X에서 왔다"의 cryptographic attestation은 OpenAI·Anthropic이 검토 중인 영역이다.

ZK는 AI 거버넌스의 검증 가능한 신뢰 레이어가 될 가능성이 높다.


22장 · ZK 회로 작성의 실전 함정

회로를 처음 짤 때 누구나 빠지는 함정이 있다.

함정증상대처
제약 누락(under-constrained)실제로는 다른 값도 통과모든 signal에 명시적 === 또는 <==
비공개와 공개 혼동비밀이 증명에 새어나감input의 private / public 명시
큰 정수 오버플로F_p 모듈러 산술에 직관 안 맞음range check 회로(LessThan 등) 사용
비결정성 증인같은 입력에 다른 증인 가능증인 계산을 결정적으로
큰 회로 폭주컴파일·증명이 끝없이 걸림회로 분할, recursion, zkVM 전환
해시 함수 오용sha256 회로가 거대Poseidon 같은 ZK-friendly 해시
nullifier 충돌더블 스펜드 가능nullifier에 unique 시드 포함
잘못된 도메인다른 서비스의 nullifier가 충돌domain separation

회로 보안 감사 회사 — Veridise, 0xPARC ZK Audits, Zellic, Spearbit — 가 2024~2026년에 빠르게 자랐다. ZK 코드는 일반 솔리디티 감사보다 더 정교한 검토가 필요하다는 인식이 굳어졌다.


23장 · 실전 ZK 응용 시나리오 7개 — 어떤 도구가 적합한가

구체적인 시나리오와 추천 도구.

시나리오추천
단일 회로 + 온체인 검증 최소 비용Circom + Groth16
EVM 호환 zkRollupPolygon zkEVM(Plonky3) / Scroll(HALO2) / Linea(gnark)
임의 Rust 코드 증명SP1 또는 Risc Zero zkVM
비공개 컨트랙트(프라이버시 DeFi)Aztec + Noir
STARK 풀스택Cairo + Starknet
ZKML(모델 추론 증명)EZKL
웹2 데이터 ZKTLSNotary / Reclaim / zkEmail

가장 자주 나오는 실수는 단일 도구 만능주의다. zkRollup 회사는 회로 영역과 zkVM 영역과 ZK 신원 영역의 세 도구를 동시에 운용한다. 도구는 문제를 따라간다.


24장 · 다음 5년 — ZK의 본격 보편화

마지막으로 향후 5년의 흐름.

  1. zkVM이 회로를 흡수한다. 더는 누구도 Circom으로 해시 회로를 안 짠다. SP1/Risc Zero의 프리컴파일이 그걸 흡수한다.
  2. Prover marketplace 가 일반화한다. 증명자는 GPU 시장에서 사는 자원이 된다. Boundless·Succinct prover network·Nethermind ZK prover 등.
  3. L2가 type 1로 수렴 한다. 모든 메이저 zkRollup이 EVM-equivalent 를 향해 간다.
  4. 프라이버시는 선택적 이 된다. Aztec·Aleo·Penumbra가 입증한 "기본 비공개, 선택적 공개" 모델이 표준이 된다.
  5. ZK 신원 이 web2와 web3를 잇는 다리가 된다. zkPassport·Anon Aadhaar 류가 일반 앱의 로그인 옵션이 된다.
  6. ZK + AI — verifiable inference가 의료·금융·법률의 ML 채택을 가속한다.
  7. 양자 내성 이 점점 중요해진다. STARK 계열이 SNARK 대비 우위를 점하기 시작.
  8. 표준화 — IRTF·NIST 수준에서 ZK 프리미티브가 표준화되며 ZK가 "암호학 라이브러리의 한 항목"으로 굳는다.

ZK는 더 이상 신비주의가 아니다. 도구다. 그리고 그 도구는 점점 평범한 엔지니어가 쓰는 도구가 되어가고 있다.


에필로그 — 어디서부터 시작할까

이 글에서 다룬 도구가 너무 많다고 느껴지면, 다음 학습 경로를 추천한다.

  1. 이론 — Vitalik Buterin의 "How does a zero-knowledge proof work?" 시리즈와 Justin Thaler의 "Proofs, Arguments, and Zero-Knowledge" 책.
  2. DSL 실습circom + snarkjs 로 곱셈 회로 증명. 그 다음 Semaphore 튜토리얼.
  3. zkVM 실습 — SP1 또는 Risc Zero의 fibonacci 예제. Rust 코드가 곧 회로가 되는 경험.
  4. L2 실습 — Scroll 또는 zkSync Era에 작은 컨트랙트 배포. 회로 안 보이는 ZK 경험.
  5. 응용 — zkEmail 또는 Anon Aadhaar 데모. "지갑 너머의 ZK"를 경험.

"증명하고 싶은 것은 무엇이고, 그것을 누가 어디서 검증할 것이며, 비용은 얼마인가." 이 세 질문을 들고 다시 본문을 훑으면, 도구 선택은 의외로 명확해진다.

— ZK 툴링 2026, 끝.


References

  1. Buterin, V. (2022). "How does a zero-knowledge proof work? An ELI5 explanation." https://vitalik.eth.limo/general/2022/06/15/using_snarks.html
  2. Thaler, J. (2023). "Proofs, Arguments, and Zero-Knowledge." https://people.cs.georgetown.edu/jthaler/ProofsArgsAndZK.html
  3. Groth, J. (2016). "On the Size of Pairing-based Non-interactive Arguments." https://eprint.iacr.org/2016/260
  4. Gabizon, A. et al. (2019). "PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge." https://eprint.iacr.org/2019/953
  5. Electric Coin Co. "HALO2." https://zcash.github.io/halo2/
  6. Ben-Sasson, E. et al. (2018). "Scalable, transparent, and post-quantum secure computational integrity." https://eprint.iacr.org/2018/046
  7. iden3. "Circom 2 Documentation." https://docs.circom.io/
  8. Aztec. "Noir Documentation." https://noir-lang.org/docs
  9. StarkWare. "Cairo Book." https://book.cairo-lang.org/
  10. Starknet Foundation. "Starknet Documentation." https://docs.starknet.io/
  11. Risc Zero. "zkVM Overview." https://dev.risczero.com/api/zkvm/
  12. Succinct Labs. "SP1 Book." https://docs.succinct.xyz/
  13. Polygon Labs. "Plonky3 GitHub." https://github.com/Plonky3/Plonky3
  14. a16z crypto. "Jolt: A simple, fast, modular SNARK." https://a16zcrypto.com/posts/article/building-jolt/
  15. ZKonduit. "EZKL." https://docs.ezkl.xyz/
  16. zkSync. "Boojum Whitepaper." https://zksync.io/research
  17. Scroll. "Scroll Architecture." https://scroll.io/blog
  18. Aztec Network. "Aztec Protocol Specification." https://docs.aztec.network/
  19. EigenLayer. "EigenLayer Whitepaper." https://docs.eigenlayer.xyz/
  20. Reclaim Protocol. "TLSNotary and Reclaim." https://reclaimprotocol.org/
  21. zkPassport. "Documentation." https://zkpassport.id/
  22. Anon Aadhaar. "Anon Aadhaar Protocol." https://anon-aadhaar.pse.dev/
  23. Astar Network. "Astar zkEVM." https://astar.network/
  24. Soneium. "Soneium Documentation." https://soneium.org/
  25. Veridise. "ZK Audit Reports." https://veridise.com/