Chuyển tới nội dung
Home » “영지식 인증 기대주: Zk-Snark 이해하기”

“영지식 인증 기대주: Zk-Snark 이해하기”

[ZKP] 영지식 증명 기초 1_Aiden (KOR)
zk-SNARK는 ‘zero-knowledge succinct non-interactive argument or knowledge’의 줄임말로, 가장 보편적인 영지식 프로토콜이다. 영지식은 정보를 주고받지 않고도 증명을 할 수 있는 암호화 기술이다. 이 프로토콜은 매우 복잡한 수학적 개념을 기반으로 하지만, 전반적인 개념을 이해하기는 어렵지 않다. 현재 영역은 활발하게 개발되고 있고, 인증 방식을 완전히 변화시킬 수 있는 중요성을 갖고 있다.

영지식이란

영지식은 진술을 검증할 때 가능한 가장 작은 양의 정보만 사용하는 것으로, 부가적인 데이터 전송을 피할 수 있는 증거를 마련하는 방식이다. 이 기술의 출발점은 1980년대에 나온 ‘ 대화형 증명 시스템의 지식 복잡성(Knowledge Complexity of Interactive Proof Systems) ’이라는 논문이다. 이름에서 짐작할 수 있듯 이 논문은 대화하는 시스템 간에 진술을 입증하는 데 있어 지식이 어떻게 동작하는지를 이해하는 데 초점을 맞췄다. 이 논문에 영감을 준 논문이 있는데 바로 1971년 스티븐 쿡이 발표해 컴퓨터 과학에서 복잡성 이론 분야에 불을 지핀 중대한 논문인 ‘ 정리 증명 절차의 완전성(The Completeness of Theorem Proving Procedures) ‘이다. 쿡의 논문이 알고리즘의 복잡성을 명시적으로 살펴보고 경계를 설정하려 시도했다면, 이 지식 복잡성 논문은 이와 유사하게 지식의 상한과 하한을 증명에서 정하고 지식에 명확한 초점을 뒀다. 이렇게 영지식은 대화형 증명 시스템에서 사용되는 기술로, 진술을 입증할 때 최소한의 정보만 사용하여 효율적이며 부가적인 데이터 전송을 피할 수 있는 증거를 제공한다. 이러한 개념은 1980년대에 발표된 ‘대화형 증명 시스템의 지식 복잡성’ 논문에서 시작되었으며, 이 논문은 대화 시스템 간에 지식이 어떻게 동작하는지에 초점을 맞추었다. 이 논문에는 1971년에 발표된 ‘정리 증명 절차의 완전성’이라는 논문이 영감을 주었는데, 이 논문은 알고리즘의 복잡성을 분석하고 지식의 한계를 설정하는 데 주력하였다.

[ZKP] 영지식 증명 기초 1_Aiden (KOR)

[ZKP] 영지식 증명 기초 1_Aiden (KOR)
[ZKP] 영지식 증명 기초 1_Aiden (KOR)

영지식과 인증

영지식과 인증에 대한 이해

일반적으로 인증을 이해하기 위해서는 증명과 관련된 정보를 알아야 한다. 하지만 둘 이상의 소프트웨어 시스템이 통신할 때 한 시스템이 어떤 주장을 한다면 그 주장을 다른 시스템이 어떻게 증명해야 할지 알 수 없다. 이런 상황에서 영지식은 지식 유출을 최소화하면서 시스템의 보안을 개선하는 대안적인 방법을 제공한다.

예를 들어, 기본적인 접근 방식에서는 한 시스템이 암호를 알고 있다는 지식을 갖고 있다고 주장할 수 있다. 그리고 이를 다른 시스템에 증명하기 위해 암호가 전송되는데, 이때 영지식 프로토콜은 암호 자체를 전송하지 않고 최소한의 지식으로 다른 시스템을 납득시키는 방법을 사용한다. 이러한 증명은 확률에 기반을 둔다고 하며, 높은 확률로 인증의 유효성을 확보한다.

대화형 증명은 당사자 간의 지속적인 대화가 필수적이다. 증명자(prover)와 검증자(verifier)가 대화를 주고받으며 검증자가 증명자에게 질문한다. 각 올바른 대답은 증명자의 주장에 대한 검증자의 확신 수준을 높인다. 즉, 증명자가 거짓말을 하고 있을 확률이 낮아진다. 특히 zk-SNARK 증명은 대화과정이 안전하게 캡슐화되어 검증자로 전송될 수 있다는 점에서 주목받는다. 이후에는 검증자는 증명과 상호작용할 수 있고 대화는 필요하지 않으므로 비대화형 증명이라고 한다.

비대화형 증명은 1988년 ‘비대화형 영지식(Non-interactive Zero-Knowledge)’이라는 논문에서 처음 입증되었으며, 영지식 증명을 비대화 형식으로 캡슐화하는 것이 가능해진 기점이었다. 이후 2012년에는 ‘추출 가능한 충돌 저항에서 간결한 비대화형 지식 주장으로, 그리고 다시 되돌리기(From Extractable Collision Resistance to Succinct Non-Interactive Arguments of Knowledge)’라는 논문에서 SNARK가 등장했다. 이후로도 개념은 계속 발전되고 있다.

영지식 증명(Zero-Knowledge, SNARKs)

영지식 증명(Zero-Knowledge, SNARKs)
영지식 증명(Zero-Knowledge, SNARKs)

zk-SNARK 구현하기

zk-SNARK 구현하기
zk-SNARK는 공개 검증 가능한 연산 체계로, 신뢰할 수 없는 계산 리소스를 사용해 기능의 실행을 확인할 수 있게 해주는 아이디어이다. 최초로 실질적인 구현이 제안된 것은 2013년에 피노키오(Pinocchio) 프로토콜이다. 이 논문에서는 이론을 자세히 다루고 있으므로, 폰 노이만 아키텍처를 위한 간결한 비대화형 영지식(Non-Interactive Zero Knowledge for a Von Neumann Architecture)을 참고하면 된다. 하지만 이러한 활동을 보면 zk-SNARK는 뚫을 수 없는 수학적 덤불처럼 보인다. 실제로 디피-헬만과 같은 직관적인 도약을 위해 많은 전문지식과 작업이 필요하다. 이는 많은 영감과 노력이 필요한 영역이다. 또한, zk-SNARK는 여전히 변화하고 있기 때문에 더 어렵게 느껴질 수 있다. 지금까지 이론이 최근에 개발되었고, 구현은 변화가 많은 영역이므로 기본적인 부분이 추상화된 다음 라이브러리로 래핑된다. 다양한 기존 시스템에 zk-SNARK를 적용하고 새로운 활용 사례를 찾아가는 과정에서 사용 사례와 이에 대한 소프트웨어에 집중하려고 한다. 따라서, 이번 글에서는 중요한 수학적 개념은 최대한 단순하게 설명하면서 zk-SNARK가 어떻게 작동하는지에 대해 살펴볼 것이다.

[블파스] 영지식증명 입문 | 김동구

[블파스] 영지식증명 입문 | 김동구
[블파스] 영지식증명 입문 | 김동구

zk-SNARK 작동 방식

zk-SNARK 작동 방식에 대해 설명합니다. zk-SNARK는 계산이 수행되었음을 검증하는 방식입니다. 원래의 계산(함수)을 매우 구체적인 형식으로 나타내기 위해 사용됩니다. 이러한 표현은 일련의 수학적 변환을 통해 이루어집니다. 최종적으로 얻어지는 형식은 주어진 입력으로 계산이 수행되었음을 입증하는 데 사용할 수 있는 실제 zk-SNARK 형식입니다. 입력은 zk-SNARK에서 목격자라고 불리며, 해당 인자를 통해 계산이 수행되었음을 입증하는 데 사용됩니다.

zk-SNARK에서 주목해야 할 중요한 두 가지는 다음과 같습니다. 첫째로, 이 방식은 암호의 소유 증명과 같은 다양한 애플리케이션에서 주장을 기능적 등가물로 변경해야 하는 것입니다. 예를 들어, 일반 텍스트 암호를 해싱 알고리즘을 통해 실행할 수 있으며, 이를 통해 암호의 소유를 입증할 수 있습니다. 둘째로, 검증 가능한 계산의 속성은 단순한 진술 인증 이상의 새로운 컴퓨팅 모델을 만드는 것입니다. 이 모델은 믿을 수 없는 환경에서도 제3자 리소스로 계산을 아웃소싱할 수 있게 해줍니다. 리소스는 암호화된 방식으로 실행이 입증되기 때문에 이러한 특성은 블록체인과 관련이 있습니다. 실제 정보를 브로드캐스팅하는 대신 블록체인에서 zk-SNARK를 사용하여 거래의 증명만 브로드캐스팅할 수 있습니다. MINA 프로토콜은 이 방식을 사용하여 작동합니다.

이러한 연산 아웃소싱 사례는 블록체인에만 한정되지 않습니다. 믿을 수 있는 서드파티 없이 컴퓨팅 마켓플레이스를 구축하는 것도 가능합니다. 현재 다양한 종류의 클라우드 업체가 이 방식을 활용하고 있습니다. SNARK가 사용하는 변환은 다음과 같은 일반적인 패턴을 따릅니다: 원래 계산(대수 회로) > 랭크 1 제약 시스템(R1CS) > 이차 산술 프로그램(QAP) > 선형 PCP > 선형 대화형 증명 > zkSNARK(참조: 비탈릭 부테린의 이차 산술 논문). 위 논문은 첫 4개의 변환을 자세히 설명하고 있습니다. 전체 과정을 쉽게 이해하고 싶다면 ‘zk-SNARK를 사용하는 이유와 그 원리(Why and How of zk-SNARK)’를 읽어보는 것을 추천합니다. 영지식 블로그도 zk-SNARK와 영지식에 대해 이해하는 데 도움이 될 것입니다.

zk-SNARK가 수행하는 핵심 기능은 계산을 다항식으로 변환하는 것입니다. 이 형식에서는 다항식 그래프의 점을 테스트하여 계산을 증명할 수 있습니다. 즉, 다항식의 해는 다항식 자체가 아니라 증명자가 실제로 증명을 소유하고 있는지를 검증하는 데 사용됩니다. 다양한 점을 테스트하면 증명의 신뢰성이 높아집니다. 따라서 변환의 첫 번째 단계는 함수를 수학적 형식으로 변환한 다음(대수 회로 > R1CS), 이를 다항식(QAP)으로 변환하고 효율적으로 검증 가능한 형식으로 변환합니다(선형 PCP > 선형 대화형 증명). 마지막으로 전송 가능한 형식인 SNARK로 변환됩니다. 대화형 형식으로 영지식 증명을 캡슐화하는 다른 방법도 있지만, 현재 이 방법이 일반적으로 사용되고 있습니다.

ZK SEL 0x14 블록체인에서 영지식 증명의 현재와 미래 (with Decipher)

ZK SEL 0x14 블록체인에서 영지식 증명의 현재와 미래 (with Decipher)
ZK SEL 0x14 블록체인에서 영지식 증명의 현재와 미래 (with Decipher)

zk-SNARK 작동 방식

zk-SNARK의 응용
zk-SNARK는 블록체인을 검증 가능한 연산으로 옮길 수 있는 가능성 외에 로그인을 위한 자격 증명을 제공하고, 더 광범위하게 진술을 설정하는 두 가지 측면에서 영지식 스타일의 인증을 지원한다. 예를 들어 사용자가 특정 금액 이상의 은행 계좌를 소유하고 있다고 주장하는 경우가 있을 수 있다(이때 서드파티로서 은행과의 대화가 필요함). 이때 zk-SNARK를 사용하면 일종의 익명 인증이 가능하다. 즉, 사용자는 신원이 아닌 자신이 소유한 사실을 근거로 하여 리소스에 액세스하도록 허용됐음을 입증할 수 있다. 이러한 메커니즘은 인증 활동 수행 시 교환되는 지식의 양을 줄여 보안 시스템의 안전을 높인다. 뿐만 아니라, zk-SNARK를 사용하여 완전한 익명 지불 시스템을 구현할 수 있다. 거래는 가용한 자금 확인, 이 자금이 에스크로에 있는지 확인, 상품 배송 확인, 계약 완료하는 순서로 진행된다. 이 과정에서 양 당사자의 신원은 일절 누설되지 않는다. 이러한 zk-SNARK의 응용은 블록체인 기술을 더욱 유용하게 만들어주고 확장 가능성을 제공한다.

영지식증명(Zero Knowledge Proof) 오현옥 교수님 – 연합뉴스경제TV

영지식증명(Zero Knowledge Proof) 오현옥 교수님 - 연합뉴스경제TV
영지식증명(Zero Knowledge Proof) 오현옥 교수님 – 연합뉴스경제TV
Ai 시대의 디지털 여권” 월드코인의 개인 증명(Pop) 시스템이란? - Itworld Korea
Ai 시대의 디지털 여권” 월드코인의 개인 증명(Pop) 시스템이란? – Itworld Korea
인증 - Itworld Korea
인증 – Itworld Korea
인증 - Itworld Korea
인증 – Itworld Korea
9월 2022 - 컴퓨터 Vs 책
9월 2022 – 컴퓨터 Vs 책

See more here: molady.vn

Categories: https://molady.vn/kr

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *