📖 용어 📖 용어 🔰 초보

🔐 zk-SNARKs vs zk-STARKs zk-SNARKs vs zk-STARKs

영지식 증명의 두 가지 방식이에요. 비밀 데이터를 공개하지 않고도 '이 사실이 참이다'(예: '잔액이 충분하다')를 증명하는 기술인데, 설정 방식·증명 크기·미래 안전성에서 차이가 있어요.

💡
흔한 오해 — STARK가 SNARK보다 무조건 더 나을까요? 아니에요! 우열이 아니라 트레이드오프예요. STARK는 신뢰 설정이 필요 없고 양자 컴퓨터에 강하고, SNARK는 증명이 훨씬 작고 저렴해요. 둘 다 현재 활발히 쓰이고 있어요.
🔐 하나의 ZK 증명 아이디어 참임을 증명하되, 데이터는 숨긴다 🟦 zk-SNARK 🧨 신뢰 설정 필요 📜 작고 저렴한 증명 🔓 타원 곡선 수학 더 오래됨 · 널리 배포됨 🟪 zk-STARK ✨ 신뢰 설정 없음 📦 더 큰 증명 ⚛️ 양자 저항 해시 더 최근 · 도입 초기
🔐 하나의 영지식 아이디어가 두 갈래로: 🟦 zk-SNARK (신뢰 설정 필요, 작은 증명) vs 🟪 zk-STARK (설정 없음, 큰 증명, ⚛️ 양자 저항). 우열이 아니라 트레이드오프예요.

🧩 둘의 공통점

둘 다 영지식 증명의 일종이에요. 증명자가 개인 정보를 숨긴 채 어떤 사실이 참임을 검증자에게 납득시키고, 검증자의 확인은 빠르고 가볍게 이루어져요. 비유하자면 이렇게 상상해 보세요. 입구가 하나이고 중간에 잠긴 마법 문이 있는 고리 모양 동굴이 있어요. 앨리스가 '나는 비밀번호를 알고 있다'고 주장해요. 밥이 입구에서 기다리다가 어느 쪽 출구로 나오라고 소리쳐요. 앨리스가 매번 그쪽으로 나온다면, 그녀가 비밀번호를 안다는 걸 말하지 않아도 증명되는 거예요. 영지식 증명은 바로 이 원리예요.

🔤 이름 뜻 풀이

약어원문 풀이
🟦 zk-SNARKZero-Knowledge Succinct Non-interactive ARgument of Knowledge
🟪 zk-STARKZero-Knowledge Scalable Transparent ARgument of Knowledge

📌 STARK를 'succinct transparent'라고 쓰는 경우도 있지만, 2018년 Ben-Sasson 외 공저 원논문에서 S는 Scalable(확장 가능한)로 정의돼요. 'Succinct'라고 쓰는 건 흔한 혼동이에요.

⚖️ 핵심 차이점

항목🟦 zk-SNARK🟪 zk-STARK
신뢰 설정 필요?필요 — 일회성 비밀 의식불필요 — 공개 무작위성 사용
증명 크기매우 작음 (수백 바이트)큼 (수십~수백 KB)
온체인 비용저렴더 비쌈 (격차 좁혀지는 중)
양자 저항성?없음 — 타원 곡선 수학 기반있음 — 해시 함수 기반
등장 시기더 오래됨 (2012년경)더 최근 (2018년)

🧨 신뢰 설정이란?

zk-SNARK는 처음 가동 전에 비밀 파라미터(보통 '공통 참조 문자열'이라 불려요)를 생성하는 일회성 절차가 필요해요. 이 비밀은 설정 후 반드시 폐기해야 해요. 누군가 나머지 조각을 손에 넣으면('독성 폐기물'이라는 별명이 붙었어요), 진짜처럼 보이는 가짜 증명을 만들 수 있거든요. zk-STARK는 이 절차를 아예 건너뛰어요. 공개 무작위성과 해시 함수만으로 증명을 만들기 때문에 숨길 비밀도, 폐기할 것도 없어요. STARK 이름의 'Transparent(투명한)'가 바로 이걸 가리켜요.

🚀 어디서 마주치게 되나요?

크게 두 가지 맥락에서 나와요. 첫째는 프라이버시: 금액과 주소를 숨기는 용도로, Zcash가 zk-SNARK를 써서 거래를 차폐(shield)해요. 둘째는 확장성: zk-롤업으로 많은 거래를 하나의 저렴한 증명으로 묶어 이더리움에 올리는 레이어 2 네트워크예요. StarkNet이 zk-STARK 기반 레이어 2의 대표 사례예요.

🧠 기억해 둘 것: 롤업에서 '영지식'은 거래를 숨기는 게 목적이 아니에요. 큰 연산을 작고 빠른 증명으로 압축하는 것이 핵심이에요. 프라이버시 목적과 확장성 목적, 같은 수학이 두 가지 다른 역할을 해요.

🧭 그래서 어느 게 '더 낫나요'?

  • 🟦 SNARK의 강점: 증명 크기와 온체인 비용이 문제라면 — 증명이 작고 검증이 저렴해요
  • 🟪 STARK의 강점: 신뢰 설정 없이 투명하게, 미래 양자 컴퓨터에도 안전하게 가고 싶다면
  • 📈 대규모 연산: STARK가 아주 큰 연산을 더 유연하게 처리하는 경향이 있어요
  • 🔁 현실: 둘 다 현재 실제 서비스에 쓰이고 있고, 양쪽 아이디어를 섞어 쓰는 팀도 많아요

❓ 자주 묻는 질문

zk-STARK가 zk-SNARK보다 무조건 좋은 건가요?
아니요. 우열이 아니라 트레이드오프예요. STARK는 신뢰 설정이 필요 없고 양자 컴퓨터에도 강하지만, 증명 크기가 훨씬 커요. SNARK는 증명이 작고 비용이 싸지만, 일회성 신뢰 설정에 의존해요. 현재 둘 다 실제 제품에서 활발히 쓰이고 있어요.
'영지식'이면 항상 내용이 숨겨지나요?
꼭 그렇지는 않아요. 프라이버시 코인에서는 금액과 주소를 숨기는 데 쓰이지만, zk-롤업에서는 거래 내용 자체를 감추는 게 목적이 아니에요. 많은 거래를 하나의 작은 증명으로 묶어 빠르게 검증하는 것, 즉 '확장성'이 핵심이에요. 같은 수학이 프라이버시와 확장성, 두 가지 역할을 모두 할 수 있어요.
입문자가 실제로 이 용어를 마주치는 곳은 어디인가요?
주로 두 곳이에요. 첫째, zk-SNARK로 거래를 차폐하는 Zcash 같은 프라이버시 코인. 둘째, 많은 거래를 하나의 증명으로 묶어 이더리움에 올리는 zk-롤업 레이어 2 네트워크. StarkNet이 zk-STARK 기반 레이어 2의 대표적인 예예요.

🔗 관련 용어·코인