영지식(Zero Knoledge) 증명 블록체인의 정의 및 종류
- blockchain
- 2023. 1. 2.
영지식(Zero Knoledge) 증명 블록체인의 정의 및 종류 정리
방지 기술이 발전하는 만큼 아니 그보다 더 앞서서 사기 기술은 날로 고도화가 되고 있습니다. 이로 인해 보안 프로토콜을 탄탄하게 하는 것이 중요한 화두로 떠오르고 있습니다. 암호화는 처음부터 블록체인과 관련이 있습니다. 암호화 기술은 블록체인 플랫폼에서 트랜잭션을 완전히 보호하는 데 사용됩니다. 즉, 블록체인과 암호화의 융합은 안전한 금융 거래 방식을 제공했습니다. 그래서 이번 시간에는 이 영지식 증명이라는 암호화 기술에 대해 알아보도록 하겠습니다.
1. 영지식 증명이란?
영지식 증명은 명세서 자체를 드러내지 않고 그의 타당성을 증명하는 방법입니다. 증명해야 하는 사람은 해당 명세서를 증명하고자하는 당사자로 볼 수 있고 검증하는 사람은 그 명세서의 유효성에 대해 검사를 진행해야 하는 사람입니다. 영지식 증명은 증명자가 다른 검증자에게 특정 명세서가 사실이라는 사실만을 제공하여 이것이 사실임을 증명 할 수 있는 방법입니다. 최소한의 정보 교환으로 당사자 간에 사실을 확립하려고 시도합니다. 암호화에서는 인증 활동 중에 정보 전송을 제한하기 위한 것입니다. 창시자들은 컴퓨터 증명에서 정보 또는 지식의 이동을 명시적으로 연구했습니다. 영지식 증명은 당시 새로운 연구 영역을 도입하는 데 있어 중요한 발전이었습니다. 수년에 걸쳐 개선된 영지식 증명은 작업증명과 지분증명과 더불어 추가로 떠오르고 있는 작업 방법이라고 할 수 있습니다.
2. 왜 필요한가?
증명자는 다른 검증자에게 나의 명세서가 사실이라는 것을 증명해야 하는데 보통 여권이나 운전면허증으로 신분을 증명하는 경우가 대부분입니다. 하지만 이러한 방식들은 개인정보보호에 취약하다는 것입니다. PIN 번호 및 공인인증서 등도 있지만 해킹에 취약한 중앙 데이터베이스테 저장된다는 것이 단점입니다. 신원 도용이 중요한 문제가 됨에 따라 민감한 정보를 공유하는 더 많은 개인 정보 보호 수단에 대한 요구가 있어왔는데 영지식 증명은 주장의 타당성을 증명하기 위해 정보를 공개할 필요가 없기 때문에 이 문제를 해결 할 수 있는 대안으로 떠오르고 있습니다. 이 증명은 진술을 만드는 데 사용된 정보를 노출하지 않고 진술이 참이라는 강력한 보증을 제공합니다.
3. 충족 기준
영지식 증명을 사용하면 진술의 내용을 공유하거나 진실을 발견한 방법을 밝히지 않고 진술의 진실을 증명할 수 있습니다. 이를 가능하게 하기 위해 영지식 프로토콜은 일부 데이터를 입력으로 사용하고 '참' 또는 '거짓'을 출력으로 반환하는 알고리즘에 의존합니다.
1) 완전성
완전성 속성은 트랜잭션이 확인되었으며 증명자가 트랜잭션을 미리 처리할 수 있음을 나타냅니다. 트랜잭션 문이 참이면 검증자는 이전에 요청한 입력에 대해 증명자를 허용할 권한이 있습니다. 입력이 유효하면 영지식 프로토콜은 항상 'true'를 반환합니다. 따라서 기본 진술이 참이고 증명자와 검증자가 정직하게 행동하면 증명이 받아들여질 수 있습니다.
2) 건전성
건전성 속성은 거래가 정확하고 사기 사례의 일부가 아님을 나타냅니다. 거래 상황이 그렇지 않고 진술이 틀렸다면 어떤 경우에도 검증자는 납득할 수 없다는 뜻이다. 이 상황에서 검증자는 증명자를 인증하거나 입력에 대한 증명자의 요청을 허용할 수 없습니다. 입력이 유효하지 않은 경우 '참'을 반환하도록 영지식 프로토콜을 속이는 것은 이론적으로 불가능합니다. 따라서 거짓 증명자는 정직한 검증자를 속여 유효하지 않은 진술이 유효하다고 믿도록 속일 수 없습니다.
3) 영지식
검증자는 현재 진술과 진술의 진위가 참인지 거짓인지 이외의 정보를 가질 수 없습니다. 다양한 당사자의 기타 정보 및 개인 데이터는 숨겨집니다. 검증자는 진술에 대해 타당성 또는 허위성을 넘어서는 아무것도 배우지 않습니다. 이 요구 사항은 또한 검증자가 증명에서 원래 입력(문의 내용)을 파생하는 것을 방지합니다.
4. 구성요소
1) 증인
영지식 증명을 통해 증명자는 일부 숨겨진 정보에 대한 지식을 증명하고자 합니다. 비밀 정보는 증거에 대한 "증인"이며, 증인에 대한 증명자의 가정된 지식은 정보를 알고 있는 당사자만 답변할 수 있는 일련의 질문을 설정합니다. 따라서 증명자는 임의로 질문을 선택하고 답을 계산한 다음 검증자에게 전송하여 증명 프로세스를 시작합니다.
2)도전
검증자는 세트에서 다른 질문을 무작위로 선택하고 증명자에게 답변을 요청합니다.
3) 응답
증명자는 질문을 수락하고 답을 계산하여 검증자에게 반환합니다. 증명자의 응답을 통해 검증자는 전자가 실제로 증인에 액세스할 수 있는지 확인할 수 있습니다. 증명자가 맹목적으로 추측하여 우연히 올바른 답을 얻지 않도록 하기 위해 검증자는 질문할 질문을 더 많이 선택합니다. 이 상호 작용을 여러 번 반복함으로써 증명자가 증인에 대한 지식을 위조할 가능성은 검증자가 만족할 때까지 크게 떨어집니다.
5. 기본유형
1) 대화형 증명
개념과 관련된 동작은 수학적 확률을 다룹니다. 대화형 ZKP에서 증명자는 특정 검증자를 설득하고 각 검증자에 대해 이 프로세스를 반복해야 합니다. 대화형 ZKP에서 증명자는 특정 사실에 대해 검증자를 설득하기 위해 일련의 작업을 완료해야 합니다.
2) 비대화형 증명
비대화형 ZKP는 검증자와 증명자 간에 자발적인 상호 작용이 없습니다. 비대화형 ZKP에서 증명자는 누구나 확인할 수 있는 증거를 생성하고 확인 프로세스를 나중 단계로 옮길 수도 있습니다. 비대화형 ZKP의 더 나은 메커니즘을 위해서는 특정 소프트웨어가 필요합니다.
6. 종류
1) ZK-SNARK
ZK-SNARK는 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge 의 약어입니다 . ZK-SNARK 프로토콜에는 다음과 같은 특성이 있습니다. 검증자는 진술에 대한 다른 지식 없이도 진술의 무결성을 검증할 수 있습니다. 검증자가 진술에 대해 가지고 있는 유일한 지식은 그것이 참인지 거짓인지 여부입니다. 영지식 증명은 목격자보다 작고 신속하게 검증할 수 있습니다. 여러 차례의 통신이 필요한 대화형 증명과 달리 증명자와 검증자가 한 번만 상호 작용하기 때문에 증명은 '비대화형'입니다. 증명이 '건전성' 요건을 충족하므로 부정행위 가능성은 극히 낮습니다.
비밀 정보(증인)에 대한 액세스 없이는 영지식 증명을 구성할 수 없습니다. 증인이 없는 증명자가 유효한 영지식 증명을 계산하는 것은 불가능하지는 않더라도 어렵습니다. 앞서 언급한 '공유 키'는 증명자와 검증자가 증명 생성 및 검증에 사용하기로 동의한 공개 매개변수를 의미합니다. 공용 매개변수(CRS(Common Reference String)로 집합적으로 알려짐) 생성은 프로토콜의 보안에서 중요하기 때문에 민감한 작업입니다. CRS 생성에 사용된 엔트로피(무작위성)가 부정직한 증명자의 손에 들어가면 거짓 증명을 계산할 수 있습니다. 다자간 계산(MPC) 은 공용 매개변수 생성의 위험을 줄이는 방법입니다. 여러 당사자가 신뢰할 수 있는 설정 행사 에 참여하며 각 사람은 CRS를 생성하기 위해 임의의 값을 제공합니다. 정직한 당사자가 자신의 엔트로피 부분을 파괴하는 한 ZK-SNARK 프로토콜은 계산 건전성을 유지합니다. 신뢰할 수 있는 설정에서는 사용자가 매개변수 생성에서 참여자를 신뢰해야 합니다. 그러나 ZK-STARK의 개발로 신뢰할 수 없는 설정에서 작동하는 증명 프로토콜이 가능해졌습니다.
2) ZK-STARK
ZK-STARK는 Zero-Knowledge Scalable Transparent Argument of Knowledge 의 약자입니다 . ZK-STARK는 다음을 제외하고 ZK-SNARK와 유사합니다. ZK-STARK는 증인의 크기가 클 때 증거 생성 및 검증에서 ZK-SNARK보다 빠릅니다. STARK 증명을 사용하면 증인이 증가함에 따라 증명 및 검증 시간이 약간만 증가합니다. 투명성 : ZK-STARK는 공개적으로 검증 가능한 무작위성에 의존하여 신뢰할 수 있는 설정 대신 입증 및 검증을 위한 공개 매개변수를 생성합니다. 따라서 ZK-SNARK에 비해 더 투명합니다. ZK-STARK는 ZK-SNARK보다 더 큰 증명을 생성하므로 일반적으로 검증 오버헤드가 더 높습니다.
7. 장점
1) 단순성
단순성은 아마도 ZKP의 가장 유명한 속성일 것입니다. 작동하는 데 소프트웨어 지식이 필요하지 않지만 일상 생활에 영향을 미치는 우수한 솔루션을 제공할 수 있습니다. 또한 완전히 암호화되지 않았지만 매우 안전하기 때문에 두 세계의 장점을 원활하게 제공할 수 있습니다.
2) 보안
ZKP는 정보 공유와 관련하여 매우 안전합니다. 따라서 사용자는 기본 사항을 이해하기 위해 코드나 분석을 마스터할 필요 없이 안심하고 사용할 수 있습니다. 시간을 절약 하는 ZKP는 블록체인 거래에 필요한 시간을 단축하여 고귀한 방식으로 사용자에게 가치를 제공합니다.
3) 프라이버시
사용자의 프라이버시를 보호하는 것은 ZKP의 가장 높이 평가되는 특성입니다. 민감한 데이터 공유가 필요하지 않으므로 일반적으로 매우 비공개입니다. 현재의 신원 관리 시스템은 개인 정보를 위험에 빠뜨립니다. 영지식 증명은 민감한 세부 정보를 보호하면서 개인의 신원을 확인하는 데 도움이 될 수 있습니다.
4) 안전성
사용자는 ZKP가 데이터를 공유해야 할 필요성을 알고 있으며 정당한 이유 없이 개인 정보에 액세스해야 하는 회사를 멀리할 수 있습니다.
8. 단점
1) 하드웨어 비용
영지식 증명 생성에는 특수 기계에서 가장 잘 수행되는 매우 복잡한 계산이 포함됩니다. 이 기계는 비싸기 때문에 일반 개인의 손이 닿지 않는 경우가 많습니다. 또한 영지식 기술을 사용하려는 애플리케이션은 하드웨어 비용을 고려해야 하므로 최종 사용자의 비용이 증가할 수 있습니다.
2) 증명 검증 비용
증명을 검증하려면 복잡한 계산이 필요하고 응용 프로그램에서 영지식 기술을 구현하는 비용이 증가합니다. 이 비용은 계산 증명과 관련하여 특히 관련이 있습니다. 예를 들어, ZK-롤업은 Ethereum에서 단일 ZK-SNARK 증명을 확인하기 위해 ~ 500,000 가스를 지불하며 ZK-STARK는 더 높은 수수료를 요구합니다.
3) 신뢰 가정
ZK-SNARK에서 공통 참조 문자열(공용 매개변수)은 한 번 생성되며 영지식 프로토콜에 참여하려는 당사자가 재사용할 수 있습니다. 공개 매개변수는 참가자가 정직한 것으로 간주되는 신뢰할 수 있는 설정 절차를 통해 생성됩니다. 그러나 사용자가 참가자의 정직성을 평가할 방법이 없으며 사용자는 개발자의 말을 그대로 받아들여야 합니다. ZK-STARK는 문자열 생성에 사용된 임의성이 공개적으로 검증 가능하기 때문에 신뢰 가정이 없습니다. 그동안 연구원들은 검증 메커니즘의 보안을 강화하기 위해 ZK-SNARK에 대한 비신뢰 설정 작업을 진행하고 있습니다.
4) 양자 컴퓨팅 위협
ZK-SNARK는 암호화에 타원 곡선 암호화( ECDSA )를 사용합니다. 현재로서는 ECDSA 알고리즘이 안전하지만 양자 컴퓨터의 개발로 인해 향후 보안 모델이 깨질 수 있습니다. ZK-STARK는 암호화에 충돌 방지 해시를 사용하기 때문에 양자 컴퓨팅의 위협에 영향을 받지 않는 것으로 간주됩니다. 타원 곡선 암호화에 사용되는 공개-개인 키 쌍과 달리 충돌 방지 해싱은 양자 컴퓨팅 알고리즘이 깨지기 더 어렵습니다
'blockchain' 카테고리의 다른 글
세계 최초로 중국에서 거래소 출범으로 바라본 NFT (0) | 2023.01.04 |
---|---|
DeFi(디피이)와 ReFi(리파이) 차이 (0) | 2023.01.03 |
가상화폐 친화적인 국가들의 특징 (0) | 2022.12.31 |
밈코인이란 무엇일까요? (0) | 2022.12.30 |
코인 가격이 심하게 변동하는 이유 (0) | 2022.12.29 |