ZK SNARK는 온체인 거래를 검증하는 개인 정보 중심 증명 시스템입니다. 주로 확장성 솔루션, 개인 거래 및 신원 보호의 세 가지 주요 영역에서 사용됩니다. [1][2]
"zero-knowledge succinct non-interactive argument of knowledge"를 의미하는 ZK SNARK는 한 당사자(증명자)가 다른 당사자(검증자)에게 특정 진술이 사실임을 거래 정보를 공개하지 않고 두 당사자 간의 상호 작용 없이 증명할 수 있도록 하는 영지식 증명(ZKP)의 한 유형입니다. 이는 거래가 블록체인에서 비공개적이고 완전히 암호화된 상태로 유지되면서도 네트워크의 합의 규칙을 사용하여 검증될 수 있는 방법입니다. [1][2]
ZK SNARK는 영지식 증명(ZKP)의 변형입니다. ZKP는 관련 정보를 공개하지 않고 온체인 상호 작용을 검증하는 증명 시스템의 속성인 영지식을 에뮬레이트합니다. 증명 시스템은 상호 작용이 발생했음을 인증하고 거래 출력의 정확성을 검증하는 암호화 감사자입니다. [1]
ZK SNARK는 증명자와 검증자라는 두 당사자가 필요하며 반복적으로 상호 작용해야 합니다. 증명자는 ZKP를 계산하기 위해 특수 알고리즘에 비밀 정보를 전달하고, 증명은 검증자에게 전송되어 다른 알고리즘을 사용하여 증명자가 비밀 정보를 알고 있음을 확인합니다. ZK SNARK는 주로 블록체인 네트워크에서 자주 발생하는 확장성 문제를 최소화하는 데 사용됩니다. [1][3]
비상호 작용적 계산 위임을 위한 수단을 제공하는 간결한 비상호 작용적 지식 증명(SNARK)은 2012년 Ran Canetti, Alessandro Chiesa 및 Eran Tromer에 의해 소개되었습니다. 저자들은 SNARK가 공통 참조 문자열(CRS) 모델에서 영지식(ZK) SNARK를 구성한다고 설명했습니다. 영지식 증명(ZKP) 프로토콜인 ZK SNARK가 분산 원장 솔루션에 추가되면 확장성과 개인 정보 보호가 향상됩니다. 1985년 Shafi Goldwasser, Silvio Micali 및 Charles Rackoff에 의해 처음 소개된 영지식 증명(ZKP)을 통해 한 당사자는 정보를 공개하지 않고 정보의 일부를 가지고 있음만을 보여줄 수 있습니다. [2][4][5]
ZK SNARK 기술을 사용하는 첫 번째 애플리케이션은 Zcash입니다. Bitcoin의 코드베이스를 기반으로 하는 개인 정보 보호 중심의 암호화폐인 Zcash는 ZK SNARK를 사용하여 발신자, 수신자 및 금액이 비공개로 유지되는 차폐된 거래를 생성합니다. ZK SNARK를 활용하여 Zcash의 차폐된 거래는 블록체인에서 완전히 암호화될 수 있지만 네트워크의 합의 규칙에 따라 여전히 유효한 것으로 검증될 수 있습니다. [5][6]
ZK SNARK는 "zero-knowledge succinct non-interactive argument of knowledge"를 의미합니다. 핵심 논리를 이해하기 위해 관련된 다섯 가지 개념이 있습니다. [1][3]
영지식은 진술의 유효성만 공개되고 다른 정보는 제공되지 않도록 합니다. [1]
이는 ZKP의 압축성과 검증 속도를 의미합니다. ZKP는 크기가 작고 검증에 최소한의 계산 능력만 필요하기 때문에 몇 밀리초 내에 검증할 수 있습니다. [1][2]
비상호 작용적 증명은 증명자와 검증자 간의 통신을 줄여 증명 시스템을 더 효율적이고 실용적으로 만듭니다. [1][3]
ZK SNARK에서 증명은 진술의 진실성을 증명하기 위한 일련의 수학적 연산입니다. [7]
이는 증명자에 의해 처리되어 증명을 생성하는 정보로, 검증자에게는 절대 공개되지 않습니다. 지식의 증명은 증명자가 특정 정보를 가지고 있음을 의미하는 암호화 선언입니다. 정보가 없으면 증명자가 유효한 ZKP를 계산하는 것이 불가능할 수 있습니다. [1][3][8]
ZK SNARK는 배치에 있는 여러 거래에 대한 단일 증명을 컴파일하기 때문에 증명 집계자 역할을 합니다. 이 단일 증명은 블록체인의 저장 용량과 혼잡을 줄여 거래 처리량을 높이고 거래 수수료를 낮추는 데 도움이 됩니다. 또한 ZK SNARK 증명은 간결하여 모든 거래의 정확성을 빠르게 검증하기 쉽습니다. Ethereum의 확장성 문제를 해결하기 위해 ZK SNARK 기술을 활용하는 프로젝트로는 zkSync와 Polygon Hermez가 있습니다. [1]
발신자와 수신자의 주소 및 거래 금액과 같은 개인 정보를 마스킹하는 것은 ZK SNARK가 블록체인에서 개인 거래를 용이하게 하는 방법입니다. 온체인 개인 거래를 통해 기존 금융 시스템은 금융 감시에서 해방되고 기관은 ZK-SNARK 기반 네트워크를 사용하여 안전하고 개인적인 비즈니스를 수행할 수 있습니다. 개인 정보 보호를 위해 ZK SNARK를 활용하는 프로젝트로는 Zcash와 Tornado Cash가 있습니다. [1]
ZK SNARK는 개인 데이터의 개인 정보 보호 및 보안을 강화하는 동시에 신원 도용 위험을 줄입니다. 사용자가 개인 정보를 공개하지 않고도 자신의 신원이나 자격 증명의 진위를 증명하는 데 도움이 됩니다. ZK SNARK를 사용하면 신뢰할 수 없는 인증이 가능하므로 서비스 제공업체가 사용자의 자격 증명을 저장할 필요가 없습니다. ZK SNARK 신원 보호를 활용하는 프로젝트의 예로는 ZKCreds가 있습니다. [1]