그래픽 영지식 증명(ZKP)
편집자 주: 이 기사의 출처는블록체인 캠프 (ID: blockchain_camp)편집자 주: 이 기사의 출처는
블록체인 캠프 (ID: blockchain_camp)
, 저자: Oscar W, 컴파일러: Huohuojiang, 승인을 받아 Odaily에서 복제.
영지식증명(Zero-Knowledge Proof 또는 Zero-Knowledge Protocol)은 "사실과 유사한 진술"과 "개인 지식에 대한 진술"을 포함하는 확률 기반 검증 방법입니다.
오늘날 영지식 증명은 많은 블록체인 프로젝트에서 최고의 개인 정보 보호 체계 중 하나로 간주되었습니다. 데이터를 공개하지 않고도 데이터의 진위를 증명할 수 있습니다.
이 기사에서는 신비한 영지식 증명과 현재 응용 프로그램에 대해 설명합니다.
보조 제목
ZKP가 중요한 이유는 무엇입니까?
기술 시대에 우리는 전례 없는 양의 데이터를 생성하고 있으며 우리 자신에 대한 약탈 가능한 데이터를 지속적으로 생성하고 있습니다.

Google 및 Facebook과 같은 대기업은 우리 데이터를 활용하여 오늘날 세계의 거대 기술 기업이 되었습니다. 그러나 최근 암호화 기술의 혁신과 블록체인의 부상은 우리의 데이터와 신원을 보호하는 새로운 방법을 제공합니다. 영지식 증명이 답이 될 수 있습니다.
보조 제목

영지식 증명의 원리
영지식 증명은 1980년대 MIT 연구원들이 제안한 암호화 방식이다. 영지식 증명 프로토콜은 한 당사자(증명자)가 다른 당사자(검증자)에게 무언가가 사실임을 증명할 수 있는 프로토콜입니다. 이 특정 진술이 사실이라는 것 외에 다른 정보는 공개되지 않습니다.
영지식 증명은 사용자 계정이 유출되는 것을 방지할 수 있습니다. 영지식 증명을 구현할 수 있는 경우 클라이언트 암호는 누구에게도 알려지지 않지만 클라이언트 로그인은 여전히 인증될 수 있습니다. 서버가 공격을 받아도 비밀번호가 웹 서버에 저장되지 않기 때문에 사용자의 계정은 안전하게 유지됩니다.
영지식 증명은 "대화형"과 "비대화형"의 두 가지 유형으로 나눌 수 있습니다. 다음으로 이 두 가지 증명 방법의 차이점을 하나씩 살펴보겠습니다.
보조 제목
대화형 영지식 증명
영지식 증명 프로토콜의 기반은 대화형입니다. 검증자는 증명자가 가지고 있는 "지식"에 대해 일련의 질문을 계속해서 해야 합니다.
예를 들어, 누군가가 스도쿠 게임의 답을 알고 있다고 주장하는 경우 영지식 증명 프로세스는 검증자가 열, 행 또는 9개의 사각형으로 검증할지 여부를 임의로 지정해야 하는 것입니다.
시험의 각 회차는 구체적인 답을 알 필요는 없고 숫자 1~9가 포함되어 있는지만 확인하면 됩니다. 검증 횟수가 충분히 많으면 증명자가 스도쿠 질문에 대한 답을 알고 있다고 믿을 만한 이유가 있습니다.
제3자를 설득하려면 검증자는 검증 프로세스가 무작위이며 검증자에게 답을 누설하지 않을 것임을 증명해야 합니다.

따라서 인터랙티브 영지식 증명 결과를 제3자가 검증하기 어렵고, 여러 사람에게 무언가를 증명하려면 별도의 노력과 비용이 필요하다.
보조 제목
이름에서 알 수 있듯이 비대화형 영지식 증명은 담합의 가능성을 피하기 위해 대화형 프로세스가 필요하지 않지만 실험 순서를 결정하기 위해 추가 기계와 프로그램이 필요할 수 있습니다.
예를 들어 스도쿠의 경우 어떤 열이나 행을 확인할지는 프로그램이 결정합니다. 확인 순서는 비밀로 유지되어야 합니다. 그렇지 않으면 확인자가 실제 "지식"을 알지 못한 채 확인을 통과할 수 있습니다.
보조 제목
블록체인에 대한 영지식 증명
비트코인과 이더리움은 모두 공개 주소를 사용하여 관련된 당사자의 실제 신원을 대체하여 거래를 부분적으로 익명으로 만들고 대중은 송수신 주소와 거래 금액만 알 수 있습니다. 다만 주소의 정체는 블록체인상에서 얻을 수 있는 다양한 정보(교류기록 등)를 통해 알 수 있어 프라이버시가 노출될 가능성이 있다.

영지식 증명은 발신자, 수신자 및 기타 거래 세부 정보가 익명으로 유지되는 동안 거래가 유효함을 보장합니다.
ZCash는 영지식 증명을 성공적으로 구현한 가장 유명한 블록체인 프로젝트 중 하나일 것입니다. Zcash는 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge(Zero-Knowledge Concise Non-Interactive Argument of Knowledge)를 나타내는 zk-SNARKS라고 하는 ZKP의 수정된 버전을 구현합니다.
zk-SNARK 기술은 증명의 크기와 검증에 필요한 계산량을 줄입니다. 주소 및 관련 가치에 대한 중요한 정보를 공개하지 않고 유효한 거래 조건이 충족되었음을 증명할 수 있습니다.
zk-SNARK는 검증이 필요한 거래 내용을 두 다항식의 곱이 같다는 증거로 변환하고 동형암호 및 기타 고급 기술을 결합하여 거래 검증 시 숨겨진 거래 금액을 보호합니다.
프로세스는 다음과 같이 간단하게 설명할 수 있습니다.
코드를 검증 가능한 논리적 검증 단계로 분할한 다음 해당 단계를 더하기, 빼기, 곱하기 및 나누기로 구성된 산술 회로로 분할합니다.
일련의 변환을 수행하여 검증할 코드를 t(x)h(x)=w(x)v(x)와 같은 다항 방정식으로 변환합니다.
증명을 더 간결하게 하기 위해 검증자는 사전에 여러 체크포인트를 무작위로 선택하여 이 포인트의 방정식이 참인지 확인합니다.
동형 인코딩/암호화를 통해 검증자는 방정식을 계산할 때 실제 입력 값을 알지 못하지만 여전히 검증할 수 있습니다.
방정식의 왼쪽과 오른쪽 모두에 0이 아닌 비밀 값 k를 곱합니다. (t(s)h(s)k)가 (w(s)v(s)k)와 같음을 확인할 때 구체적인 t(s), h(s), w(s) 및 v(s)는 정보 보호 목적을 달성하기 위해 알 수 없음.
그러나 zk-SNARK는 완벽하지 않습니다. 현재 zk-SNARK 구현의 결함은 매개변수를 미리 설정해야 한다는 것입니다. 이러한 매개 변수가 유출되면 전체 네트워크가 엄청난 타격을 받게 됩니다. 따라서 이러한 네트워크를 사용할 때 사용자는 매개변수가 유출되지 않는다는 것을 굳게 믿어야 합니다.
가능한 솔루션에는 Intel SGX 및 ARM TrustZone과 같은 최신 "신뢰할 수 있는 실행 환경"을 사용하는 것이 포함됩니다. Intel의 SGX 기술을 사용하면 응용 프로그램, 운영 체제, BIOS 또는 VMM이 손상되더라도 개인 키는 안전합니다.
또한 최근 백서는 영지식 암호화의 혁신인 ZK-STARK(Zero-Knowledge Scalable Transparent ARguments of Knowledge)를 공개했습니다.
zk-STARK 백서에 따르면 zk-STARK는 어떠한 신뢰 설정에 의존하지 않고 블록체인 검증을 달성한 최초의 시스템이며 계산 데이터가 증가함에 따라 계산 속도가 기하급수적으로 증가합니다.







