개인정보 보호는 암호화폐 커뮤니티 내에서 항상 가치 있는 기능으로 간주되어 왔습니다. 이는 널리 사용되는 형태의 화폐로서 필요불가결한 대체 가능성(fungibility)의 선행 조건입니다. 마찬가지로, 대부분의 암호화 자산 보유자들은 자신의 보유 자산과 거래 내역이 완전히 공개되기를 원하지 않습니다. 블록체인에 개인정보 보호를 제공하기 위한 다양한 암호화 기술 중에서, zk-SNARK 및 zk-STARK 증명은 주목할 만한 예입니다.
zk-SNARK는 지식의 영지식 간결 비대화 증명을 의미하고, zk-STARK는 지식의 영지식 간결 투명 증명을 나타냅니다. zk-SNARK 증명은 이미 Zcash, JP Morgan Chase의 블록체인 기반 결제 시스템, 그리고 클라이언트를 서버에 안전하게 인증하는 방법으로 사용되고 있습니다. 하지만 zk-SNARK는 이미 상당한 진전을 이루었고 잘 확립되어 채택되고 있는 반면, zk-STARK 증명은 이제 zk-SNARK의 여러 단점을 해결하는 새로운 개선된 버전의 프로토콜로 주목받고 있습니다.
이 글은 여러분이 자녀에게 제로 지식 프로토콜을 어떻게 설명할 수 있는지와 제로 지식 프로토콜이 무엇을 위해 사용되는지를 알려줄 것입니다.
zk-SNARKs
Zcash는 zk-SNARKs의 첫 번째 널리 사용 가능한 응용 사례입니다. Monero와 같은 다른 프라이버시 프로젝트들은 링 서명 등 다양한 기법을 사용하여 누가 무엇을 보냈는지를 숨기는 연막을 형성하지만, zk-SNARK는 데이터를 공유하는 방식을 근본적으로 바꿉니다. Zcash의 프라이버시는 네트워크 내의 거래가 암호화된 상태로 유지되면서도 제로 지식 증명을 통해 유효함을 검증할 수 있다는 점에서 비롯됩니다. 따라서 합의 규칙을 집행하는 사람들은 각 거래에 포함된 모든 데이터를 알 필요가 없습니다. 단, Zcash의 프라이버시 기능은 기본적으로 활성화되어 있지 않고 수동 설정에 따라 선택적으로 작동합니다.
제로 지식 증명은 한 개인이 다른 사람에게 어떤 명제가 참임을 증명할 수 있도록 하면서, 그 명제의 유효성 외에는 아무런 정보를 공개하지 않는 기술입니다. 참여하는 당사자들은 일반적으로 증명자(prover)와 검증자(verifier)로 불리며, 그들이 비밀리에 보유하고 있는 명제는 '증인(witness)'이라 불립니다. 이러한 증명의 주요 목표는 두 당사자 간에 가능한 한 적은 데이터를 노출하는 것입니다. 다시 말해, 제로 지식 증명을 통해 어떤 정보를 가지고 있다는 사실은 증명할 수 있으나, 그 정보 자체는 공개하지 않아도 됩니다.
SNARK라는 약어에서 "succinct(간결한)"는 이러한 증명이 크기가 작고 빠르게 검증될 수 있음을 의미합니다. "Non-interactive(비대화형)"는 증명자와 검증자 간의 상호작용이 거의 없거나 전혀 없음을 의미합니다. 초기 버전의 제로 지식 프로토콜은 일반적으로 증명자와 검증자가 서로 여러 번 통신해야 했기 때문에 "대화형" zk 증명으로 간주됩니다. 그러나 "비대화형" 구성에서는 증명자와 검증자가 하나의 증명만 주고받으면 됩니다.
현재 zk-SNARK 증명은 증명자와 검증자 간의 초기 신뢰 설정에 의존하고 있으며, 이는 제로 지식 증명과 따라서 비공개 거래를 생성하는 데 필요한 일련의 공용 파라미터가 필요함을 의미합니다. 이 파라미터는 거의 게임의 규칙처럼 프로토콜에 인코딩되어 있으며 거래의 유효성을 입증하는 데 필요한 요소 중 하나입니다. 그러나 이로 인해 파라미터가 매우 소수의 집단에 의해 생성되기 때문에 잠재적인 중앙 집중화 문제가 발생할 수 있습니다.
오늘날 zk-SNARK 구현에서 초기 신뢰 설정은 필수적이지만, 연구자들은 이 과정에서 요구되는 신뢰의 양을 줄이기 위한 다른 대안을 찾기 위해 노력하고 있습니다. 초기 설정 단계는 위조 지출을 방지하는 데 중요한 역할을 하며, 만약 누군가가 파라미터 생성을 위해 사용된 난수(randomness)에 접근할 수 있다면, 검증자에게 유효해 보이는 잘못된 증명을 생성할 수 있게 됩니다. Zcash에서는 이 초기 설정 단계를 "파라미터 생성 의식(Parameter Generation Ceremony)"이라고 부릅니다.
"Arguments of Knowledge(지식에 대한 주장)"라는 약어 부분으로 넘어가 봅시다. zk-SNARK는 계산적으로 건전하다고 간주되며, 이는 정직하지 않은 증명자가 실제로 지식을 가지고 있지 않더라도 시스템을 속이는 것이 매우 어렵다는 것을 의미합니다. 이 속성은 "건전성(soundness)"이라 불리며, 증명자가 제한된 컴퓨팅 파워를 가졌다고 가정합니다.
이론적으로는, 충분한 컴퓨팅 파워를 가진 증명자는 위조된 증명을 생성할 수 있으며, 이는 양자 컴퓨터가 zk-SNARK(및 블록체인 시스템)에 위협으로 간주되는 이유 중 하나입니다.
제로 지식 증명은 빠르게 검증 가능하며 일반적인 비트코인 거래보다 훨씬 적은 데이터를 필요로 합니다. 이는 zk-SNARK 기술이 개인정보 보호뿐만 아니라 확장성 솔루션으로도 사용될 수 있는 길을 엽니다.
zk-STARKs
zk-STARK는 이스라엘 공과대학교(Technion-Israel Institute of Technology)의 교수인 Eli-Ben Sasson에 의해 개발되었습니다. zk-SNARK 증명의 대안으로서, zk-STARK는 일반적으로 기술의 보다 효율적인 변형으로 간주되며, 구현에 따라 더 빠르고 저렴할 수 있습니다. 그러나 더 중요한 점은 zk-STARK는 초기 신뢰 설정이 필요 없다는 점입니다(따라서 “T”는 투명성을 의미합니다).
기술적으로 말하자면, zk-STARK는 초기 신뢰 설정이 필요하지 않은데, 이는 충돌 저항 해시 함수(collision-resistant hash functions)를 통한 더 간결한 암호화 기법에 의존하기 때문입니다. 이러한 접근은 또한 계산적으로 비용이 많이 들고 이론적으로는 양자 컴퓨터의 공격에 취약한 zk-SNARK의 수 이론적 가정을 제거합니다.
다시 말해, zk-STARK 증명은 암호화 가정 측면에서 더 단순한 구조를 제공합니다. 그러나 이 새로운 기술에는 적어도 하나의 주요 단점이 있습니다: zk-SNARK에 비해 증명 크기가 더 크다는 것입니다. 이러한 데이터 크기 차이는 사용 맥락에 따라 제약을 줄 수 있지만, 기술이 더 많이 테스트되고 조사됨에 따라 해결될 수 있는 문제일 것입니다.
마무리 생각
zk-SNARK와 zk-STARK 모두 개인정보 보호에 대한 관심이 증가하는 상황에서 매력적인 기술임은 분명합니다. 암호화폐 세계 내에서 이러한 프로토콜은 엄청난 가능성을 지니고 있으며, 주류 채택을 향한 획기적인 경로가 될 수 있습니다. 이 기사를 읽고 나면 자녀에게 제로 지식 프로토콜을 어떻게 설명할 수 있는지에 대해 더 깊이 이해할 수 있기를 바랍니다.


















