신규

곧 출시될 IQ.wiki API로 전문가가 큐레이션한 암호화폐 및 블록체인 지식을 앱에 통합하세요.

0% read

Zero-Knowledge Proof (ZKP)

Zero-Knowledge Proof (ZKP)

**영지식 증명(Zero-knowledge proof, ZKP)**은 한 당사자(증명자)가 다른 당사자(검증자)에게 어떤 진술의 진위 여부 외에는 추가적인 정보를 전혀 공개하지 않고도 그 진술이 타당함을 확신시킬 수 있게 해주는 암호화 도구입니다. ZKP는 올바르게 해결되었을 때 수신 측이 진짜임을 증명하는 수학적 퍼즐과 같습니다. 이는 다양한 애플리케이션에서 개인의 프라이버시를 보호하고 보안을 강화하는 데 유용한 도구가 됩니다.[1]\

개요

지식 증명은 "증명자"가 어떤 정보를 알고 있다는 사실을 "검증자"에게 확신시키는 암호화 증명입니다. 증명자는 암호화 증명을 생성하는 엔티티 또는 프로그램입니다. 검증자는 증명의 내용을 확인하는 엔티티 또는 프로그램입니다. 지식 증명은 완전성(completeness)과 건전성(soundness)이라는 두 가지 기본 특성을 가지며, 지식 증명(PoK)과 영지식 증명(ZKP)의 핵심적인 차이점은 바로 '영지식성'입니다. 진술이 참이라면, 검증자는 증명자로부터 해당 진술이 참이라는 사실 외에는 아무것도 배우지 못합니다.[8][12]

ZKP의 개념은 1985년 샤피 골드와서(Shafi Goldwasser), , 찰스 래코프(Charles Rackoff)가 발표한 논문 “대화형 증명 시스템의 지식 복잡도(The Knowledge Complexity of Interactive Proof-Systems)”에서 처음 소개되었습니다.[12]\


증명자는 자신이 값 X를 알고 있다는 사실 외에 다른 정보 없이 검증자에게 자신이 값 X를 알고 있음을 증명할 수 있습니다. 이 개념의 핵심 본질은 지식을 공개하지 않고 지식의 소유를 증명하는 것입니다. 여기서 주요 과제는 X가 무엇인지 또는 다른 정보를 말하지 않고 값 X에 대한 지식을 보여주는 것입니다.[2]

영지식 증명(ZKP)은 암호학, 기술, 프라이버시 보존 시스템을 포함한 다양한 분야에서 상당한 응용 잠재력을 지닌 역설적인 개념입니다.

영지식 증명의 유형

ZKP에는 여러 유형이 있으며, 각 유형마다 장단점이 있습니다. 가장 일반적인 유형은 다음과 같습니다.

  • 대화형 ZKP(Interactive ZKPs): 증명자와 검증자 사이에 일련의 질의와 응답 과정이 포함됩니다.[4][5]
  • 비대화형 ZKP(Non-interactive ZKPs): 증명자가 검증자에게 단 한 번의 메시지만 보내면 됩니다.[5][6]
  • 시그마 프로토콜(Sigma protocols): 효율성과 다재다능함으로 알려진 특정 유형의 ZKP입니다.[7]
  • : 특히 효율적이며 계산의 타당성에 대한 진술을 증명하는 데 사용할 수 있는 비대화형 ZKP입니다. [9][8]
  • ZK-STARKs: ZK-SNARK보다 훨씬 더 뛰어난 효율성을 제공하지만 구축하기가 더 복잡한 비대화형 ZKP입니다.[10][8]

영지식 증명의 잠재적 응용 분야

ZKP는 다음과 같은 광범위한 잠재적 응용 분야를 가지고 있습니다.

  • 프라이버시 보존 인증: 사용자는 개인 정보를 공개하지 않고 웹사이트나 서비스에 자신의 신원을 증명할 수 있습니다.
  • 보안 투표: 유권자는 자신의 신원이나 투표 내용을 공개하지 않고 투표 자격이 있음을 증명할 수 있습니다.
  • 익명 자격 증명: 사용자는 신원을 밝히지 않고 자격 증명을 획득하고 사용할 수 있습니다.
  • 블록체인 확장성: ZKP를 사용하여 기본 데이터를 공개하지 않고 트랜잭션을 검증함으로써 블록체인에 저장되는 데이터 양을 줄이고 확장성을 개선할 수 있습니다.
  • 영지식 지식 증명: 지식 자체를 공개하지 않고 특정 지식을 소유하고 있음을 증명하는 데 사용할 수 있습니다.

ZKP의 핵심 속성

  • 완전성(Completeness): 진술이 참이고 증명자가 프로토콜을 올바르게 따르면, 검증자는 항상 이를 확신하게 됩니다.
  • 건전성(Soundness): 진술이 거짓이면, 속이려는 증명자가 무시할 수 있는 수준 이상의 확률로 검증자를 설득할 수 없습니다.
  • 영지식성(Zero-knowledge): 검증자는 진술의 타당성 외에는 아무것도 알 수 없습니다.

예시

  • 슈노르 서명(Schnorr signature): 사용자가 개인 키 자체를 공개하지 않고 개인 키를 소유하고 있음을 증명할 수 있는 암호화 서명 방식입니다. 단순함으로 잘 알려진 을 활용하는 알고리즘인 슈노르 서명은 디지털 서명 알고리즘(ECDSA)의 업그레이드 버전으로 기술 로드맵에 포함되도록 제안되었습니다. 슈노르는 단순성, 증명 가능한 보안 및 선형성으로 자주 언급됩니다. 슈노르는 ECDSA보다 적은 계산을 필요로 하므로 거래에 적합한 것으로 간주됩니다.[11]
  • ZK-SNARKs: 고급 암호학을 사용하여 복잡한 진술을 효율적으로 증명하는 비대화형 ZKP의 한 유형입니다. 라는 약어는 'Zero-Knowledge Succinct Non-Interactive Argument of Knowledge'의 줄임말로, 비밀 키와 같은 특정 정보의 소유를 해당 정보를 공개하지 않고, 증명자와 검증자 사이의 상호작용 없이 증명할 수 있는 증명 구조를 의미합니다. 는 새로운 형태의 영지식 암호학인 zk-SNARK를 널리 적용한 첫 번째 사례였습니다. 제트캐시의 강력한 프라이버시 보장은 제트캐시의 보호된 트랜잭션이 상에서 완전히 암호화될 수 있으면서도, zk-SNARK 증명을 사용하여 네트워크의 합의 규칙에 따라 유효한 것으로 검증될 수 있다는 사실에서 비롯됩니다. [9][13]
  • ZK-STARKs: 다항식 커밋먼트(polynomial commitments)를 기반으로 하며 ZK-SNARK보다 더 나은 확장성을 제공하는 또 다른 유형의 비대화형 ZKP입니다. 또한 네트워크에서 비공개 트랜잭션과 검증을 가능하게 하기 위해 zk-SNARK 및 zk-STARK와 같은 ZKP 프로토콜을 지원합니다. [10][15]
  • 불렛프루프(Bulletproofs): 는 최근 불렛프루프 ZKP 시스템의 코드를 새롭고 개선된 불렛프루프+(Bulletproof+) ZKP 솔루션으로 업그레이드했습니다. 불렛프루프는 실제 금액을 공개하지 않고 결제 금액이 양수임을 증명하는 비대화형 ZKP입니다. 이를 통해 는 관련 당사자를 제외하고는 아무도 각 거래의 송신자, 수신자 또는 금액을 추적할 수 없도록 보장합니다. [14]

ZKP의 과제

ZKP는 상당한 이점을 제공하지만 다음과 같은 몇 가지 과제에도 직면해 있습니다.

  • 계산 복잡성: 일부 ZKP는 특히 복잡한 진술의 경우 구현하는 데 계산 비용이 많이 들 수 있습니다.
  • 표준화: ZKP에 대한 단일 표준이 없어 채택에 걸림돌이 될 수 있습니다.
  • 보안 취약성: ZKP는 아직 비교적 새로운 기술이며 아직 알려지지 않은 취약성에 노출될 수 있습니다.[7]
잘못된 내용이 있나요?

참고 문헌 (15 출처)

카테고리위키 MC이벤트용어집