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입니다. 비트코인의 코드베이스를 기반으로 하는 개인 정보 보호 중심의 암호화폐인 Zcash는 ZK SNARK를 사용하여 발신자, 수신자 및 금액이 비공개로 유지되는 보호된 트랜잭션을 만듭니다. ZK SNARK를 활용하여 Zcash의 보호된 트랜잭션은 블록체인에서 완전히 암호화되지만 네트워크의 합의 규칙에 따라 유효한 것으로 검증될 수 있습니다. [5][6]
ZK SNARK는 "영지식 간결한 비대화형 지식 논증(zero-knowledge succinct non-interactive argument of knowledge)"을 의미합니다. 핵심 논리를 이해하는 데에는 다음과 같은 5가지 개념이 관련됩니다. [1][3]
영지식은 진술의 유효성만 공개되고 다른 정보는 제공되지 않도록 합니다. [1]
이는 ZKP의 간결성과 검증 속도를 나타냅니다. ZKP는 작고 검증하는 데 최소한의 계산 능력이 필요하므로 몇 밀리초 내에 검증할 수 있습니다. [1][2]
비대화형 증명은 증명자와 검증자 간의 통신을 줄여 증명 시스템을 보다 효율적이고 실용적으로 만듭니다. [1][3]
ZK SNARK에서 논증은 진술의 진실을 증명하기 위한 일련의 수학적 연산입니다. [7]
증명자가 증명을 생성하기 위해 처리하는 정보로, 검증자에게는 절대 공개되지 않습니다. 지식 논증은 증명자가 특정 정보를 가지고 있음을 의미하는 암호화 선언입니다. 정보가 없으면 증명자가 유효한 ZKP를 계산하는 것이 불가능할 수 있습니다. [1][3][8]
ZK SNARK는 배치에 있는 여러 트랜잭션에 대한 단일 증명을 컴파일하므로 증명 집계기 역할을 합니다. 이 단일 증명은 블록체인의 스토리지 및 혼잡을 줄이는 데 도움이 되어 트랜잭션 처리량을 높이고 트랜잭션 수수료를 줄입니다. 또한 ZK SNARK 증명은 간결하여 모든 트랜잭션의 정확성을 빠르게 검증하기 쉽습니다. ZK SNARK 기술을 활용하여 이더리움의 확장성 문제를 해결하는 프로젝트로는 zkSync 및 Polygon Hermez가 있습니다. [1]
발신자 및 수신자의 주소와 트랜잭션 값과 같은 개인 정보를 마스킹하는 것은 ZK SNARK가 블록체인에서 개인 트랜잭션을 용이하게 하는 방법입니다. 온체인 개인 트랜잭션을 통해 기존의 화폐 시스템은 금융 감시에서 벗어나고 기관은 ZK-SNARK 기반 네트워크를 사용하여 안전하고 비공개적인 비즈니스를 수행할 수 있습니다. 개인 정보 보호를 위해 ZK SNARK를 활용하는 프로젝트로는 Zcash 및 Tornado Cash가 있습니다. [1]
ZK SNARK는 개인 정보 도용 위험을 억제하면서 개인 데이터 개인 정보 보호 및 보안을 강화합니다. 사용자가 개인 정보를 공개하지 않고도 자신의 신원 또는 자격 증명의 진위 여부를 증명하는 데 도움이 됩니다. ZK SNARK를 사용하면 서비스 제공업체가 사용자의 자격 증명을 저장할 필요 없이 신뢰할 수 없는 인증이 가능합니다. ZK SNARK 신원 보호를 활용하는 프로젝트의 예로는 ZKCreds가 있습니다. [1]