비트펑크BITPUNK

유용한 정보 및 툴

영지식 증명(ZK)이란? SNARK·STARK 차이와 롤업·신원 확인 활용

6분 · · 조회 0,000

// TL;DR30초 요약

  • 영지식 증명(ZK)은 비밀 정보를 보여 주지 않고, 그 정보가 필요한 조건을 만족한다는 증명만 보내 상대가 원본 없이 검증하게 하는 기술입니다.
  • 스나크는 증명이 작고 검증이 빠르지만 신뢰 설정이 필요하고, 스타크는 신뢰 설정 없이 작동하지만 증명 크기가 일반적으로 더 큽니다.
  • ZK 롤업은 거래 계산이 맞는지 검증할 뿐 거래 내역을 숨기지 않고, 신원 확인은 필요한 자격만 공개한다는 차이를 기억하세요.
목차 5
  1. 쉽게 이해하는 영지식 증명의 원리
  2. zk-SNARK와 zk-STARK의 차이
  3. ZK 롤업의 거래 처리와 검증 방법
  4. ZK 롤업과 익명 거래는 무엇이 다를까
  5. 영지식 신원 확인의 활용과 공개 범위

온라인에서 나이만 확인하면 되는데 신분증 전체를 제출하라는 요청을 받으면 망설여집니다. “성인이라는 사실만 알려 주면 안 될까요?” 영지식 증명(Zero-Knowledge Proof, ZK)은 이런 질문에서 출발하면 이해하기 쉽습니다.

핵심은 비밀 정보를 보여 주는 대신, 그 정보가 필요한 조건을 만족한다는 증명을 보내는 것입니다. 정보를 가진 사람이 증명을 만들고, 상대는 원본을 받지 않고도 그 증명이 맞는지 검증합니다. 개인정보를 덜 공개하면서도 필요한 사실은 확인할 수 있습니다.출처 1ethereum.org, 영지식 증명

쉽게 이해하는 영지식 증명의 원리

생년월일을 보여 주지 않고 ‘만 18세 이상’이라는 확인 결과만 건네는 신분증을 떠올려 보겠습니다. 서비스를 이용하는 데 필요한 답은 나이 조건을 충족하는지인데, 일반 신분증에는 이름과 정확한 생년월일까지 담겨 있습니다. 영지식 증명은 이처럼 상대가 알아야 할 사실과 숨겨도 되는 정보를 나누는 데 쓰입니다.출처 1ethereum.org, 영지식 증명

다만 화면에 ‘성인입니다’라고 표시하는 것만으로는 증명이 되지 않습니다. 실제로는 비공개 정보를 입력해 수학적인 증명을 만들고, 검증 프로그램이 이를 검사합니다. 이때 증명을 만드는 쪽을 증명자(Prover), 검사하는 쪽을 검증자(Verifier)라고 합니다.

좋은 증명 방식이라면 조건을 충족한 사람의 증명은 받아들이고, 거짓 증명이 통과할 가능성은 극히 작아야 합니다. 동시에 증명 자체에서 숨긴 정보를 알아낼 수 없어야 합니다. 이를 각각 완전성(Completeness), 건전성(Soundness), 영지식성(Zero-Knowledge)이라고 부릅니다.

여기서 ‘영지식’은 상대가 아무것도 모른다는 뜻은 아닙니다. 상대는 ‘만 18세 이상’이라는 사실을 알게 됩니다. 그 사실을 증명하는 데 필요했던 정확한 생년월일 같은 정보를 추가로 얻지 못한다는 뜻입니다.

zk-SNARK와 zk-STARK의 차이

영지식 스나크(zk-SNARK)와 영지식 스타크(zk-STARK)는 이런 증명을 구현하는 대표적인 방식입니다. 스나크는 작은 증명과 빠른 검증이 강점이며, 비대화형 방식이라 증명자와 검증자가 질문과 답을 여러 차례 주고받을 필요가 없습니다. 증명을 받은 쪽은 정해진 검증 절차로 검사할 수 있습니다.출처 1ethereum.org, 영지식 증명

신뢰 설정(Trusted Setup)을 사용하는 스나크에서는 증명을 만들고 검사할 공통 매개변수를 준비합니다. 이 과정에서 생긴 비밀값이 남아 악용되면 거짓 증명을 만들 위험이 있어, 설정 참여자가 해당 값을 제대로 없앴다는 신뢰가 필요합니다. 여러 사람이 참여하고 그중 한 명이라도 자신의 비밀값을 안전하게 없애면 위험을 줄이는 방식도 사용됩니다.

스타크는 이런 비밀값의 폐기에 의존하는 신뢰 설정 없이 작동하는 ‘투명한 설정’이 특징입니다. 다만 증명 크기는 일반적으로 스나크보다 커서 전송하거나 블록체인에서 검증할 때 부담이 생길 수 있습니다. 스타크를 스나크의 모든 단점을 없앤 상위 버전으로 이해하면 이 비용 차이를 놓치게 됩니다.

증명을 만드는 비용과 검사하는 비용도 따로 봐야 합니다. 검증이 빠르더라도 증명을 만드는 데 복잡한 계산과 많은 장비 자원이 들 수 있습니다. 작은 증명이 필요한지, 신뢰 설정을 피하려는지, 얼마나 큰 계산을 증명하려는지에 따라 설계의 우선순위가 달라집니다.

양자 컴퓨터에 대한 설명에도 범위가 필요합니다. 해시 함수에 기반한 스타크 증명은 양자 공격에 대한 저항력을 갖도록 설계할 수 있지만, 이것만으로 해당 블록체인 전체가 안전해지는 것은 아닙니다. 지갑의 서명 방식과 연결된 다른 네트워크까지 별도로 대응해야 합니다.출처 2StarkWare, 양자 컴퓨팅과 Starknet의 대비

ZK 롤업의 거래 처리와 검증 방법

영지식 롤업(ZK Rollup)은 이더리움 밖에서 거래를 묶어 실행하고, 그 계산이 맞다는 증명을 이더리움에 제출하는 확장 방식입니다. 이더리움 위에 별도의 처리 계층을 두기 때문에 레이어 2(Layer 2)라고 부릅니다. 핵심은 이더리움이 모든 거래를 다시 실행하는 대신, 제출된 증명을 검사하도록 일을 나누는 데 있습니다.출처 3ethereum.org, 영지식 롤업

앨리스가 밥에게 토큰 10개를 보낸다고 가정해 보겠습니다. 롤업은 앨리스의 잔액을 10개 줄이고 밥의 잔액을 10개 늘린 결과를 계산합니다. 이때 잔액 숫자만 맞추는 것이 아니라, 보낼 잔액이 충분한지와 거래 서명이 올바른지 같은 조건도 증명 과정에 포함합니다.

여러 거래를 처리한 뒤에는 변경 결과와 유효성 증명(Validity Proof)을 제출합니다. 이더리움의 검증 프로그램은 증명이 맞는지 검사한 뒤 새로운 상태를 받아들입니다. 거래를 묶어 처리하고 데이터를 압축하면, 이더리움에 기록하고 검증하는 비용을 여러 거래에 나눌 수 있습니다.

다만 계산이 사라지는 것은 아닙니다. 롤업 쪽에서 거래를 실행하고 증명을 만들어야 하며, 데이터 게시와 증명 검증에도 비용이 듭니다. ZK 롤업은 계산과 검증을 나누는 방식이지, 거래를 공짜로 처리하는 기술은 아닙니다.

ZK 롤업과 익명 거래는 무엇이 다를까

이름에 ZK가 들어갔다고 거래 내역까지 자동으로 숨겨지는 것은 아닙니다. ZK 롤업에서 증명의 주된 역할은 ‘거래를 규칙대로 처리했다’는 사실을 보장하는 것입니다. 개인정보를 숨기는 기능과 계산의 정확성을 검증하는 기능은 구분해서 이해해야 합니다.출처 3ethereum.org, 영지식 롤업

롤업은 다른 사람이 잔액과 거래 상태를 재구성할 수 있도록 필요한 데이터를 이더리움에 게시합니다. 게시하는 내용은 압축된 거래 데이터나 상태 변경 내역 등으로 다르지만, 게시된 데이터는 공개됩니다. 그래서 ZK 롤업이라는 이름만으로 익명 송금 기능을 기대할 수는 없습니다.

영지식 신원 확인의 활용과 공개 범위

신원 확인에서는 ‘누구인지 전부 알려 주기’보다 ‘이용 조건을 충족했는지 증명하기’가 목적입니다. 생년월일 전체 대신 나이 조건을, 여권 번호 대신 시민권 보유 사실을 증명하는 식입니다. 서비스가 필요한 자격만 받으면 사용자가 공개하는 개인정보를 줄일 수 있습니다.출처 1ethereum.org, 영지식 증명

실제 사례인 월드 ID(World ID)는 검증된 사람들의 집합에 속한다는 사실을 영지식 증명으로 제시합니다. 여기에 쓰이는 세마포어(Semaphore)는 집합의 어느 구성원인지 밝히지 않고도 구성원이라는 사실을 증명하도록 돕습니다. 사람을 처음 확인하는 절차와, 이후 서비스에 자격을 증명하는 절차는 서로 다른 역할을 맡습니다.

이 구분은 서비스를 이해할 때도 유용합니다. 신원을 처음 등록할 때 어떤 정보를 받는지와, 로그인할 때 서비스에 무엇을 전달하는지는 별개의 문제입니다. ‘영지식 증명을 쓴다’는 설명은 증명 과정의 정보 공개를 줄인다는 뜻이지, 앞선 등록 과정에서도 개인정보를 전혀 다루지 않는다는 뜻은 아닙니다.

영지식 증명을 접했다면 무엇을 숨기고 무엇을 증명하는 기술인지부터 나누어 이해하면 됩니다. 신원 확인에서는 필요한 자격만 공개하는 데, ZK 롤업에서는 거래 계산의 정확성을 검증하는 데 쓰인다는 차이를 기억하시면 이름만 보고 기능을 오해하는 일을 줄일 수 있습니다.

유용한 정보 및 툴에서 많이 읽은 글

전체 보기
유용한 정보 및 툴워뇨띠 근황 및 매매법 AMA 총 정리 (6백만원 → 3,000억)30분 · · 조회 5.4만유용한 정보 및 툴입문 12강비트코인 탐욕 지수 확인 사이트 | 비트코인 탐욕 & 공포 지수 설명3분 · · 조회 2.4만유용한 정보 및 툴똑똑한 연금 투자: ISA 계좌로 세금 절약하고 연금 계좌로 이전하는 방법 📈6분 · · 조회 1.1만