ZKPs

블록 체인
공개

2026년 1월 22일

종류

  • 상호작용형 영지식 증명:
    • ZKP의 초기 형태.
    • 증명자와 검증자 사이에 여러 라운드의 상호작용이 필요.
    • 증명자는 단순히 증거 하나를 제시하는 것이 아니라, 검증자가 제시하는 일련의 도전에 참여하고 이에 대한 응답을 제공.
    • 단점:
      • 시간 소모적
      • 블록체인에 비실용적: 분산 시스템에서 서로 다른 라운드에 걸쳐 상호작용형 증명의 상태를 유지하는 것은 복잡함.
      • 검증자 종속적: 상호작용 과정을 통해 생성된 증명은 일반적으로 그 상호작용에 참여한 특정 검증자만 납득시킬 수 있음. 다른 사람에게 증명하려면 다시 해야 함
  • 비상호작용형 영지식 증명:
    • 단 한 번의 통신 라운드만 필요로 함.
    • 종류:
      • SNARKs: 증명하려는 진술의 복잡성과 관계없이 증명의 크기가 매우 작고 검증 속도가 빠름.
      • STARKs: 일부 SNARK의 잠재적 취약점인 trusted setup 단계가 필요 없음
      • Bulletproofs: 신뢰 설정이 필요 없으며, 범위 증명에 효율적임

용어

  • 주장, 진술: 어떤 것이 사실이라는 단언
  • 비공개 입력: 증명자가 알고 있지만 검증자에게 공개하지 않는 정보
  • 공개 입력: 증명자와 검증자 모두가 알고 있는 정보
  • 제약조건: 주장이 유효한 것으로 간주되기 위해 반드시 충족되어야 하는 수학적 조건이나 방정식. 제약 조건이 표현되는 방식은 R1CS나 Plonkish 시스템과 같이 사용되는 특정 ZKP 제약 시스템에 따라 다름
  • 회로: 제약 조건들의 집합
  • 위트니스: 증명자가 자신의 주장이나 진술이 참이며 정의된 모든 제약 조건을 충족함을 보여줄 수 있게 하는 비밀 값들의 집합

신뢰 설정

  • 어떤 암호화 프로토콜이 실행될 때마다 사용되어야 하는 데이터를 생성하기 위해 단 한 번 수행되는 절차
  1. 비밀 값 생성: 한 명 이상의 참가자가 비밀 무작위 값을 생성
  2. 암호학적 데이터로 변환: 이 비밀 값은 공개 암호학적 매개변수 세트를 생성하는 수학적 과정의 입력값으로 사용됨.
  3. 비밀의 되돌릴 수 없는 폐기: 공개 암호학적 매개변수가 생성되면, 원래의 비밀 값은 반드시 완전하고 복구 불가능하게 파기되어야 함.
  4. 증명 생성: 파기된 비밀로부터 생성된 공개 암호학적 데이터는 증명자가 자신의 진술에 대한 영지식 증명을 구성하는 데 사용됨
맨 위로