제로 지식 증명 기술 응용: 블록체인 발전사에서의 세 번째 기술 혁신
저자:
신약사회과학대학교 포괄적 금융 노드 SUSS NiFT 연구원 @Jesse_meta
Beosin 연구원 @EatonAshton2
Least Authority 보안 연구원 @kaplannie
정보가 인터넷에 저장되든 오프라인 아카이브에 저장되든, 주관적인 고의든 객관적인 우연이든, 정보 유출 사건은 오늘날 흔히 발생하고 있으며, 더 이상 설명할 필요가 없다. 정보가 중앙 집중식으로 저장되는 한, 단일 지점 공격의 위험이 존재한다. 검증 과정에서 신뢰할 수 있는 제3자가 필요하다면, 도덕적 위험과 비효율성이 존재하게 된다. 정보 보안 문제의 해결은 매우 중요하며, 시급하다. 제로 지식 증명 기술은 사용자가 자신의 개인 정보를 보호하면서 더 효율적이고 안전하게 검증을 수행할 수 있도록 한다.
비트코인이 블록체인이 현실 세계에 가져온 첫 번째 발명이라면, 가치 저장의 새로운 방식인 이더리움의 스마트 계약은 두 번째 이정표 사건이며, 제로 지식 증명의 응용은 블록체인 발전 역사에서 세 번째 기술 혁신으로, 프라이버시와 확장성을 가져온다. 이는 Web3 생태계의 중요한 한 축이자 사회 변화를 촉진할 잠재력을 가진 중요한 기초 기술이다.
이 글은 비기술자의 관점에서, 제로 지식 증명의 응용 시나리오, 작동 원리, 발전 현황 및 미래 트렌드를 소개하여 기술 배경이 없는 독자들이 제로 지식 증명이 가져올 중대한 변화를 이해할 수 있도록 한다.
1. 제로 지식 증명이란
제로 지식 증명(ZKP)은 1985년 Shafi Goldwasser, Silvio Micali, Chales Rackoff가 공동 저술한 논문 《The knowledge complexity of interactive proof systems》에서 처음 제안된 수학적 프로토콜로, 증명해야 할 사실 외에는 어떤 다른 정보도 누설하지 않는다. 검증자는 증명을 생성하는 비밀 정보를 얻을 수 없다. 이해를 돕기 위해 예를 들어보자: 나는 어떤 사람의 전화번호를 알고 있다는 것을 증명하고 싶다면, 그 사람에게 전화를 걸 수 있는 능력만 있으면 그 사실을 증명할 수 있으며, 그 사람의 실제 번호를 공개할 필요는 없다. 제로 지식 증명은 거의 무위험의 데이터 공유 방식을 제공한다. 제로 지식 증명을 활용하면 데이터에 대한 모든 권리를 유지하면서 개인 정보 보호를 크게 향상시킬 수 있으며, 데이터 유출 사건이 과거의 일이 될 가능성이 있다.
제로 지식 증명은 세 가지 특성을 가진다:
완전성
어떤 주장이 진실이라면, 정직한 검증자는 정직한 증명자에 의해 설득될 것이다. 즉, 맞는 것은 틀릴 수 없다.
합리성
어떤 주장이 거짓이라면, 대다수의 경우 속이는 증명자는 정직한 검증자를 속여서 거짓 주장을 믿게 할 수 없다. 즉, 틀린 것은 맞을 수 없다.
제로 지식
어떤 주장이 진실이라면, 검증자는 그 주장이 진실이라는 것 외에는 어떤 추가 정보도 얻을 수 없다.
제로 지식 증명은 극히 작은 확률로 합리성 오류를 발생시킬 수 있으며, 즉 속이는 증명자가 검증자를 속여서 잘못된 주장을 믿게 할 수 있다. 제로 지식 증명은 확률적 증명이며, 결정적 증명이 아니다. 그러나 우리는 몇 가지 기술을 통해 합리성 오류를 무시할 수 있는 수준으로 낮출 수 있다.
2. 제로 지식 증명의 응용
제로 지식 증명의 가장 중요한 두 가지 응용 시나리오는 프라이버시와 확장성이다.
2.1 프라이버시
제로 지식 증명은 사용자가 개인 세부 정보를 공개하지 않고도 상품과 서비스를 얻기 위해 필요한 정보를 안전하게 공유할 수 있게 하여 해킹 공격과 개인 정보 유출로부터 보호한다. 디지털과 물리적 영역의 점진적인 융합에 따라, 제로 지식 증명의 프라이버시 보호 기능은 Web3 및 Web3 외부의 정보 보안에 매우 중요해졌다. 제로 지식 증명이 없다면, 사용자 정보는 신뢰할 수 있는 제3자 데이터베이스에 존재하게 되어 해킹 공격의 잠재적 위험이 있다. 제로 지식 증명의 첫 번째 블록체인 응용 사례는 거래 세부 정보를 숨기기 위해 사용되는 프라이버시 코인 Zcash이다.
2.1.1 신원 정보 보호 및 검증
온라인 활동 중 우리는 종종 이름, 생년월일, 이메일, 복잡한 비밀번호와 같은 정보를 제공하여 합법적인 사용자임을 증명해야 한다. 따라서 우리는 종종 온라인에 공개하고 싶지 않은 민감한 정보를 남기게 된다. 이제는 우리 이름을 직접 부르는 사기 전화가 흔해졌으며, 이는 개인 정보 유출이 심각하다는 것을 보여준다.
우리는 블록체인 기술을 활용하여 각 개인에게 개인 데이터를 포함한 특별한 암호화된 디지털 식별자를 부여할 수 있다. 이 디지털 식별자는 탈중앙화된 신원을 구축할 수 있으며, 소유자가 모르는 사이에 위조되거나 변경될 수 없다. 탈중앙화된 신원은 사용자가 개인 신원에 대한 접근 권한을 제어할 수 있게 하여, 여권 세부 정보를 공개하지 않고도 시민 신원을 증명할 수 있으며, 인증 과정을 간소화하고 사용자가 비밀번호를 잊어버려 접근 권한을 잃는 사건을 줄일 수 있다. 제로 지식 증명은 사용자의 신원을 증명할 수 있는 공개 데이터와 사용자 정보를 포함한 비공개 데이터를 생성하여, 사용자가 서비스에 접근할 때 신원 검증에 사용된다. 이는 번거로운 검증 과정을 줄이고 사용자 경험을 향상시키며, 사용자 정보의 중앙 집중식 저장을 피할 수 있다.
또한 제로 지식 증명은 개인 신원 노출 없이 서비스 기관이 사용자가 특정 신뢰 기준을 충족하는지 검증할 수 있는 개인 신뢰 시스템을 구축하는 데에도 사용될 수 있다. 사용자는 Facebook, Twitter 및 Github와 같은 플랫폼에서 구체적인 출처 계정을 숨긴 채로 평판을 익명으로 출력할 수 있다.
2.1.2 익명 결제
신용카드 결제의 거래 세부 정보는 일반적으로 결제 제공자, 은행 및 정부 등 여러 당사자가 볼 수 있어, 일반 시민의 프라이버시를 어느 정도 노출시키며, 사용자는 관련 당사자가 악의적이지 않기를 신뢰해야 한다.
암호화폐는 결제를 제3자 없이 직접 P2P 거래를 가능하게 한다. 그러나 현재 주류 공공 블록체인에서의 거래는 공개적으로 볼 수 있으며, 사용자 주소는 익명으로 되어 있지만, 여전히 체인상의 연관 주소와 거래소 KYC, Twitter 정보 등 데이터 분석을 통해 현실 세계의 신원을 찾을 수 있는 위험이 있다. 한 사람의 지갑 주소를 알게 되면, 개인의 은행 계좌 잔액을 언제든지 확인할 수 있으며, 심지어 사용자 신원과 재산에 위협이 될 수 있다.
제로 지식 증명은 프라이버시 코인, 프라이버시 응용 및 프라이버시 공공 블록체인 세 가지 차원에서 익명 결제를 제공할 수 있다. 프라이버시 코인 Zcash는 송신자, 수신자 주소, 자산 유형, 수량 및 시간 등 거래 세부 정보를 숨긴다. Tornado Cash는 이더리움에서 제로 지식 증명을 사용하여 거래 세부 정보를 혼합하여 프라이버시 전송을 제공하는 탈중앙화된 응용 프로그램이다(그러나 해커의 자금 세탁에도 많이 사용된다). Aleo는 프로토콜 수준에서 응용 프로그램에 프라이버시 기능을 제공하는 L1 블록체인이다.
2.1.3 정직한 행동
제로 지식 증명은 프라이버시를 유지하면서 정직한 행동을 촉진할 수 있다. 프로토콜은 사용자가 정직한 행동을 증명하기 위해 제로 지식 증명을 제출하도록 요구할 수 있다. 제로 지식 증명의 합리성(틀린 것은 맞을 수 없다) 때문에, 사용자는 프로토콜 요구 사항에 따라 정직한 행동을 해야만 유효한 증명을 제출할 수 있다.
MACI(최소 반공모 인프라)는 정직을 촉진하는 응용 시나리오로, 체인 상에서 투표하거나 다른 형태의 의사 결정 과정에서 공모를 방지한다. 이 시스템은 키 쌍과 제로 지식 증명 기술을 활용하여 이를 실현한다. MACI에서 사용자는 자신의 공개 키를 스마트 계약에 등록하고, 암호화된 메시지를 통해 자신의 투표를 계약에 전송한다. MACI의 반공모 특성은 투표자가 자신의 공개 키를 변경할 수 있게 하여 다른 사람들이 그들의 투표 선택을 알지 못하도록 한다. 조정자는 투표 기간이 끝날 때 제로 지식 증명을 사용하여 모든 메시지를 올바르게 처리했음을 증명하고, 최종 투표 결과가 모든 유효 투표 수의 합계임을 보장한다. 이는 투표의 완전성과 공정성을 보장한다.
2.1.4 개인 정보 검증
우리가 대출을 받고 싶을 때, 회사로부터 디지털 소득 증명을 받아 대출을 신청할 수 있다. 이 증명의 합법성은 암호학적으로 쉽게 검증할 수 있다. 은행은 제로 지식 증명을 사용하여 우리의 소득이 규정된 최소 한도를 충족하는지 검증할 수 있지만, 민감한 구체적인 정보는 얻지 못한다.
2.1.5 기계 학습과 결합하여 개인 데이터 잠재력 발굴
기계 학습 모델을 훈련할 때, 일반적으로 대량의 데이터가 필요하다. 제로 지식 증명을 사용하면 데이터 소유자는 실제로 데이터를 공개하지 않고도 자신의 데이터가 모델 훈련 요구 사항을 충족함을 증명할 수 있다. 이는 개인 데이터가 활용되고 수익화될 수 있도록 한다.
또한 제로 지식 증명은 모델 생성자가 자신의 모델이 특정 성능 지표를 충족함을 증명할 수 있게 하여, 모델의 세부 정보를 공개하지 않고도 다른 사람들이 자신의 모델을 복제하거나 변조하는 것을 방지할 수 있다.
2.2 확장성
블록체인 사용자 수가 증가함에 따라, 블록체인에서 대량의 계산이 필요하게 되어 거래 혼잡이 발생한다. 일부 블록체인은 샤딩 확장 경로를 선택하지만, 이는 블록체인의 기본 계층에 대한 복잡한 수정을 요구하며, 블록체인의 보안성을 위협할 수 있다. 또 다른 실행 가능한 솔루션은 ZK-Rollup 경로를 선택하여, 검증 가능한 계산을 활용하여 계산을 다른 체인상의 엔티티에 아웃소싱하고, 제로 지식 증명과 검증 가능한 결과를 함께 메인 체인에 제출하여 진위를 검증하는 것이다. 제로 지식 증명은 거래의 진위를 보장하며, 메인 체인은 결과를 상태에 업데이트하기만 하면 되므로 세부 정보를 저장하거나 계산을 재생할 필요가 없고, 다른 사람들이 거래의 진위 여부를 논의하기를 기다릴 필요가 없어 효율성과 확장성을 크게 향상시킨다. 개발자는 제로 지식 증명을 활용하여 스마트폰과 같은 일반 하드웨어에서 실행할 수 있는 경량 노드 dapps를 설계할 수 있으며, 이는 Web3가 대중화되는 데 더 유리하다.
제로 지식 증명의 확장은 1층 네트워크에서 Mina Protocol과 같은 방식으로 활용될 수 있으며, 2층 네트워크 ZK-rollups에서도 활용될 수 있다.
3. 제로 지식 증명은 어떻게 작동하는가
Dmitry Laverenov(2019)는 제로 지식 증명의 구조를 상호작용식과 비상호작용식으로 나누었다.
3.1 상호작용식 제로 지식 증명
상호작용식 제로 지식 증명의 기본 형태는 세 단계로 구성된다: 증거, 도전자 및 응답
증거: 숨겨진 비밀 정보는 증명자의 증거이다. 이 증거는 이 정보를 아는 사람만이 올바르게 대답할 수 있는 일련의 질문을 설정한다. 증명자는 무작위로 질문을 추출하고, 계산된 답변을 검증자에게 보내 증명을 수행한다.
도전: 검증자는 집합에서 무작위로 다른 질문을 선택하여 증명자에게 답변을 요구한다.
응답: 증명자는 질문을 수락하고, 답변을 계산한 후 결과를 검증자에게 반환한다. 증명자의 응답은 검증자가 증명자가 이 증거를 알고 있는지 확인할 수 있게 한다.
이 과정은 증명자가 비밀 정보를 모르고도 올바른 답변을 추측할 확률이 충분히 낮아질 때까지 여러 번 반복될 수 있다. 간단한 수학적 예를 들어보자. 만약 증명자가 비밀 정보를 모르고도 올바른 답변을 추측할 확률이 1/2이라면, 10번 반복 상호작용을 하면 증명자가 매번 맞출 확률은 0.000097가 되며, 검증자가 잘못된 증명을 잘못 인정할 가능성은 극히 낮아진다.
3.2 비상호작용식 제로 지식 증명
상호작용식 제로 지식 증명은 한계가 있다. 한편으로는 증명자와 검증자가 동시에 존재하여 반복 검증을 수행해야 하며, 다른 한편으로는 새로운 증명을 계산할 때마다 증명자와 검증자가 정보를 전달해야 하므로, 증명이 독립적인 검증에서 재사용될 수 없다.
상호작용식 제로 지식 증명의 한계를 해결하기 위해 Manuel Blum, Paul Feldman 및 Silvio Micali는 비상호작용식 제로 지식 증명을 제안하였다. 이는 증명자와 검증자가 공유 키를 가지고 있으며, 단 한 번의 검증만으로 제로 지식 증명을 더 효율적으로 만들 수 있다. 증명자는 비밀 정보를 특별한 알고리즘을 통해 계산하여 제로 지식 증명을 생성하고, 이를 검증자에게 전송한다. 검증자는 다른 알고리즘을 사용하여 증명자가 비밀 정보를 알고 있는지 확인한다. 이 제로 지식 증명은 생성된 후, 공유 키와 검증 알고리즘을 가진 누구나 검증할 수 있다.
비상호작용식 제로 지식 증명은 제로 지식 증명 기술의 큰 혁신으로, 오늘날 제로 지식 증명 시스템의 발전을 촉진하였다. 주요 방법으로는 ZK-SNARK와 ZK-STARK가 있다.
4. 제로 지식 증명의 주요 기술 경로
Alchemy(2022)는 제로 지식 증명의 기술 경로를 ZK-SNARK, ZK-STARK 및 재귀 ZK-SNARK로 나누었다.
4.1 ZK-SNARK
ZK-SNARKs는 제로 지식의 간결한 비상호작용 증명이다.
공공 블록체인은 네트워크에서 거래의 정확성을 보장하기 위해 다른 컴퓨터(노드)가 각 거래를 다시 실행하도록 해야 한다. 그러나 이러한 방법은 각 노드가 모든 거래를 다시 실행하게 하여 네트워크 속도를 저하시켜 확장성을 제한한다. 노드는 또한 거래 데이터를 저장해야 하므로 블록체인의 규모가 기하급수적으로 증가하게 된다.
이러한 제한을 해결하기 위해 ZK-SNARK가 등장하였다. 이는 체인 외부에서 수행된 계산의 정확성을 증명할 수 있으며, 노드가 계산의 모든 단계를 재생할 필요가 없다. 이는 노드가 불필요한 거래 데이터를 저장할 필요를 없애고, 네트워크의 처리량을 높인다.
SNARK를 사용하여 체인 외부 계산을 검증하는 것은 계산을 수학적 표현으로 인코딩하여 유효성 증명을 구성하는 것이다. 검증자는 증명의 정확성을 확인한다. 만약 증명이 모든 검사를 통과하면, 기본 계산은 유효한 것으로 간주된다. 유효성 증명의 크기는 그것이 검증하는 계산보다 훨씬 작기 때문에, 우리는 SNARK가 간결하다고 부른다.
대부분의 ZK-SNARK를 사용하는 ZK Rollup은 다음 단계를 따른다.
1. L2의 사용자가 거래에 서명한 후 검증자에게 제출한다.
2. 검증자는 암호학을 사용하여 여러 거래를 압축하여 해당 유효성 증명(SNARK)을 생성한다.
3. L1 체인上的 스마트 계약이 유효성 증명을 검증하여 이 거래가 메인 체인에 게시될지 결정한다.
특히 ZK-SNARK는 신뢰할 수 있는 설정이 필요하다. 이 단계에서 키 생성기는 프로그램과 비밀 매개변수를 가져와 두 개의 사용 가능한 공개 키를 생성하는데, 이는 각각 증명 생성과 증명 검증에 사용된다. 이 두 개의 공개 키는 신뢰할 수 있는 설정 의식에서 한 번만 생성된 공개 매개변수를 통해 제로 지식 프로토콜에 참여하고자 하는 모든 당사자가 여러 번 사용할 수 있다. 사용자는 신뢰할 수 있는 설정 의식의 참여자가 악의적이지 않기를 믿어야 하며, 참여자의 정직성을 평가할 방법이 없다. 비밀 매개변수를 알면 가짜 증명을 생성하여 검증자를 속일 수 있으므로 잠재적인 보안 위험이 존재한다. 현재 연구자들은 ZK-SNARK가 신뢰 가정을 필요로 하지 않는 솔루션을 탐색하고 있다.
장점
1. 보안성
ZK Rollup은 ZK-SNARK가 고급 암호 보안 메커니즘을 사용하므로, 검증자를 속이거나 악의적인 행동을 하기 어려워 OP Rollup보다 더 안전한 확장 솔루션으로 간주된다.
2. 높은 처리량
ZK-SNARK는 이더리움의 기본 계산량을 줄여 메인넷의 혼잡 상황을 완화하고, 체인 외부 계산이 거래 비용을 분담하여 더 빠른 거래 속도를 가져온다.
3. 작은 증명 크기
SNARK 증명의 작은 크기는 메인 체인에서 쉽게 검증할 수 있게 하여, 체인 외부 거래를 검증하는 가스 요금이 낮아지고, 사용자의 비용을 줄인다.
제한 사항
1. 상대적 중앙화
대부분의 경우 신뢰할 수 있는 설정에 의존한다. 이는 블록체인의 비신뢰성 초기 취지와 상충된다.
ZK-SNARK를 사용하여 유효성 증명을 생성하는 것은 계산 집약적인 과정이며, 증명자는 전문 하드웨어에 투자해야 한다. 이러한 하드웨어는 비쌉니다, 따라서 ZK-SNARK의 증명 과정은 고도로 집중화되어 있다.
2. ZK-SNARK는 타원 곡선 암호학(ECC)을 사용하여 유효성 증명을 생성하는 데 필요한 정보를 암호화하며, 현재는 상대적으로 안전하지만 양자 컴퓨팅의 발전이 이 보안 모델을 무너뜨릴 수 있다.
ZK-SNARK를 사용하는 프로젝트
Polygon Hermez
Polygon은 2021년에 2.5억 달러에 Hermez를 인수하여 두 개의 블록체인 네트워크가 완전하게 인수된 첫 번째 사례가 되었다. Hermez는 Polygon의 빠르게 성장하는 사용자 기반에 ZK 기술과 도구를 제공하여 Polygon이 zkEVM 개발을 지원받게 했다. Hermez 1.0은 결제 플랫폼으로, 여러 거래를 체인 외부에서 실행하여 사용자가 ERC-20 토큰을 한 Hermez 계정에서 다른 Hermez 계정으로 편리하게 전송할 수 있게 하며, 초당 최대 2000회의 거래를 처리할 수 있다.
Hermez 2.0은 제로 지식의 zkEVM으로, 투명하게 이더리움 거래를 실행하며, 제로 지식 검증이 포함된 스마트 계약을 포함한다. 이는 이더리움과 완전히 호환되며, 스마트 계약 코드를 크게 변경할 필요가 없어 개발자가 L1 프로젝트를 Polygon Hermez에 배포하기 용이하다. Hermez 1.0은 SNARK 증명을 사용하고, 2.0에서는 SNARK 증명과 STARK 증명을 동시에 사용한다. 2.0에서는 STARK 증명을 사용하여 체인 외부 거래의 유효성을 증명하지만, STARK 증명을 메인 체인에서 검증하는 비용이 높기 때문에 SNARK 증명을 도입하여 STARK를 검증한다.
zkSync
Matter Labs는 2020년에 zkSync 1.0을 출시했으며, 이는 스마트 계약을 지원하지 않고 주로 거래 또는 송금에 사용된다. 스마트 계약을 지원하는 ZkSync 2.0은 2023년 3월에 공개적으로 메인넷에上线되었다.
ZkSync는 이더리움의 스마트 계약 소스 코드를 Solidity에서 Yul로 컴파일하여 EVM 호환성을 구현한다. Yul은 다양한 EVM의 바이트코드로 컴파일될 수 있는 중간 언어이다. LLVM 컴파일러 프레임워크를 사용하여 Yul 코드를 zkSync의 zkEVM 설계에 맞춘 사용자 정의 및 회로 호환 바이트코드 집합으로 다시 컴파일할 수 있다. 이러한 방법을 통해 더 높은 수준의 코드로 EVM 실행 중 모든 단계를 zk 증명하는 과정을 면제하여 높은 성능을 유지하면서 증명 과정을 더 쉽게 탈중앙화할 수 있다. 향후 새로운 컴파일러 프론트를 구축하여 Rust, Javascript 또는 기타 언어에 대한 지원을 추가하여 zkEVM 아키텍처의 유연성과 더 많은 개발자를 증가시킬 수 있다.
Aztec
Aztec는 공공 및 개인 스마트 계약의 실행을 동시에 구현하는 첫 번째 혼합형 zkRollup이다. 이는 제로 지식의 실행 환경이며, zkEVM이 아니다. 공공 및 개인 실행을 단일 혼합 집합으로 통합하여 기밀성을 구현하며, 예를 들어 공개 AMM의 프라이버시 거래, 공개 게임의 비밀 대화, 공개 DAO의 프라이버시 투표 등을 가능하게 한다.
4.2 ZK-STARK
ZK-STARK는 신뢰할 수 있는 설정이 필요 없다. ZK-STARK는 Zero-Knowledge Scalable Transparent Argument of Knowledge의 약자이다. ZK-SNARK에 비해 ZK-STARK는 더 나은 확장성과 투명성을 가진다.
장점
1. 비신뢰성
ZK-STARK는 신뢰할 수 있는 설정을 대체할 수 있는 공개 검증 가능한 무작위성을 제공하여 참여자에 대한 의존성을 줄이고 프로토콜의 보안성을 높인다.
2. 더 강한 확장성
기본 계산의 복잡성이 기하급수적으로 증가하더라도, ZK-STARK는 여전히 낮은 증명 및 검증 시간을 유지하며, ZK-SNARK처럼 선형적으로 증가하지 않는다.
3. 더 높은 보안 보장
ZK-STARK는 ZK-SNARK에서 사용되는 타원 곡선 방식 대신 충돌 저항 해시 값을 사용하여 암호화하며, 양자 컴퓨팅 공격에 저항할 수 있다.
제한 사항
1. 더 큰 증명 크기
ZK-STARK 증명 크기가 더 커서 메인넷에서 검증하는 비용이 더 높다.
2. 낮은 채택률
ZK-SNARK는 블록체인에서 제로 지식 증명의 첫 번째 실제 응용이기 때문에, 대부분의 ZK Rollup은 ZK-SNARK를 채택하며, 더 성숙한 개발자 시스템과 도구를 가지고 있다. ZK-STARK도 이더리움 재단의 지원을 받고 있지만, 상대적으로 채택률이 낮고 기본 도구가 개선될 필요가 있다.
어떤 프로젝트가 ZK-STARK를 사용하고 있는가?
Polygon Miden
Polygon Miden은 Ethereum L2 기반의 확장 솔루션으로, zk-STARK 기술을 활용하여 대량의 L2 거래를 단일 이더리움 거래로 통합하여 처리 능력을 향상시키고 거래 비용을 낮춘다. 분할 없이 Polygon Miden은 5초 내에 블록을 생성할 수 있으며, TPS는 1000 이상에 이를 수 있다. 분할을 진행하면 TPS는 10,000에 이를 수 있다. 사용자는 15분 만에 Polygon Miden에서 Ethereum으로 자금을 인출할 수 있다. Polygon Miden의 핵심 기능은 STARK 기반의 튜링 완전 가상 머신인 Miden VM으로, 계약의 형식적 검증을 더 간편하게 만든다.
StarkEx 및 StarkNet
StarkEx는 특정 응용 프로그램에 맞춤화된 확장 솔루션 프레임워크로, 허가가 필요한 시스템이다. 프로젝트는 StarkEx를 사용하여 저비용의 체인 외부 계산을 수행하고, 실행의 정확성을 증명하는 STARK 증명을 생성할 수 있다. 이러한 증명에는 12,000~500,000개의 거래가 포함된다. 마지막으로 증명을 체인상의 STARK 검증기로 전송하여 정확성을 검증한 후 상태 업데이트를 수락한다. StarkEx에 배포된 응용 프로그램에는 영구 옵션 dYdX, NFT L2 Immutable, 스포츠 디지털 카드 거래 시장 Sorare 및 다중 체인 DeFi 집계기 rhino.fi가 포함된다.
StarkNet은 허가가 필요 없는 L2로, 누구나 Cairo 언어로 개발된 스마트 계약을 배포할 수 있다. StarkNet에 배포된 계약 간에는 상호작용이 가능하여 새로운 조합 프로토콜을 구축할 수 있다. 거래 제출을 책임지는 StarkEx와 달리, StarkNet의 정렬자는 거래를 일괄 처리하여 증명 및 처리를 위해 전송한다. StarkNet은 다른 프로토콜과 동기화하여 상호작용하거나 StarkEx 응용 범위를 초과하는 프로토콜에 더 적합하다. StarkNet 개발이 진행됨에 따라 StarkEx 기반의 응용 프로그램은 StarkNet으로 이식되어 조합성을 누릴 수 있게 된다.
ZK-SNARK와 ZK-STARK 비교
4.3 재귀 ZK-SNARK
일반 ZK Rollup은 하나의 거래 블록만 처리할 수 있어 처리할 수 있는 거래 수에 제한을 둔다. 재귀 ZK-SNARK는 하나 이상의 거래 블록을 검증할 수 있으며, 서로 다른 L2 블록에서 생성된 SNARK를 단일 유효성 증명으로 병합하여 L1 체인에 제출한다. L1 체인상의 계약이 제출된 증명을 수락하면, 모든 거래가 유효해지며, 제로 지식 증명으로 최종 완료할 수 있는 거래 수를 크게 증가시킨다.
Plonky2는 Polygon Zero의 재귀 ZK-SNARK를 사용하여 거래를 증가시키는 새로운 증명 메커니즘이다. 재귀 SNARK는 여러 증명을 하나의 재귀 증명으로 집계하여 증명 생성 과정을 확장한다. Plonky2는 동일한 기술을 사용하여 새로운 블록 증명 생성을 위한 시간을 줄인다. Plonky2는 수천 개의 거래를 병렬로 생성하여 재귀적으로 이를 하나의 블록 증명으로 집계하므로 생성 속도가 매우 빠르다. 일반적인 증명 메커니즘은 전체 블록 증명을 한 번에 생성하려고 하여 효율성이 떨어진다. 또한 Plonky2는 소비자급 장치에서 증명을 생성할 수 있어 SNARK 증명과 함께 발생하는 하드웨어 집중화 문제를 해결한다.
5. 제로 지식 롤업 VS 낙관적 롤업
ZK-SNARK와 ZK-STARK는 블록체인 확장 프로젝트의 핵심 인프라가 되었으며, 특히 제로 지식 롤업 솔루션에서 그렇다. 제로 지식 롤업은 제로 지식 증명 기술을 사용하여 모든 계산을 체인 외부에서 처리하여 네트워크 혼잡을 완화하는 이더리움의 2층 확장 솔루션을 의미한다. 제로 지식 롤업의 주요 장점은 이더리움의 거래 처리량을 크게 증가시키면서 낮은 거래 비용을 유지할 수 있으며, 거래가 롤업에 패키징되면 즉시 확정된다는 것이다.
현재 이더리움의 L2 확장 솔루션은 제로 지식 롤업 외에도 낙관적 롤업이 있다. 낙관적 롤업에서 실행되는 거래는 기본적으로 유효한 것으로 간주되며 즉시 실행된다. 사기 거래가 발견되면(사기 증명이 제출되면) 해당 거래는 취소된다. 따라서 보안성은 제로 지식 롤업보다 낮다. 사기 거래를 방지하기 위해 낙관적 롤업은 일정한 도전 기간을 두고, 거래는 도전 기간이 지나야 최종 확정된다. 이는 사용자가 자금을 회수하는 데 일정한 시간을 기다려야 할 수 있다.
EVM을 처음 설계할 때 제로 지식 증명 기술 사용을 고려하지 않았다. 이더리움 창립자 Vitalik은 단기적으로 제로 지식 롤업이 기술적 복잡성을 가지고 있지만, 결국 확장 전쟁에서 낙관적 롤업을 이길 것이라고 믿고 있다. 다음은 제로 지식 롤업과 낙관적 롤업의 비교이다.
출처: SUSS NiFT, ChatGPT
6. 제로 지식 증명 기술의 미래 전망은?
제로 지식 증명 기술 분야는 독특한 위치에 있다: 최근 몇 년 동안 이 분야의 연구를 추진하기 위한 많은 노력이 있었으며, 많은 성과가 암호학 및 보안 통신 분야에서 상당히 새롭다. 따라서 많은 흥미로운 질문이 학계와 개발자 커뮤니티의 답변을 기다리고 있다. 동시에 제로 지식 증명 기술은 다양한 프로젝트에 사용되어 제로 지식 기술의 도전과 요구를 확장하고 있다.
제로 지식 증명 기술에서 주목할 만한 분야 중 하나는 제로 지식 증명 기술의 후량자 보안성에 대한 논의이다. 공개 검증 가능한 SNARK(간결한 비상호작용 지식 증명)는 제로 지식 기술 분야의 핵심 구성 요소이다. 그러나 대부분의 널리 사용되는 공개 검증 가능한 SNARK 솔루션은 양자 안전하다고 여겨지지 않는다. 예를 들어 Groth16, Sonic, Marlin, SuperSonic 및 Spartan 등이 있다. 이러한 솔루션이 의존하는 수학적 문제는 양자 컴퓨터의 도움으로 효과적으로 해결될 수 있어, 후량자 세계에서의 보안성을 크게 손상시킨다.
우리는 학계가 양자 안전 제로 지식 증명을 적극적으로 찾고 있다는 것을 발견하고 있으며, 이는 사전 처리 단계가 없는 다양한 문장에 사용할 수 있다. 현재 가장 진보된 양자 안전 제로 지식 증명의 예로는 Ligero, Aurora, Fractal, Lattice Bulletproofs 및 LPK22와 같은 솔루션이 있다. Ligero, Aurora 및 Fractal은 해시 함수에 기반하고, Lattice Bulletproofs 및 LKP22는 격자 함수에 기반한다. 이 두 함수는 모두 양자 안전으로 여겨진다. 이러한 솔루션을 확산하고 효율성을 높이는 것이 추세가 되고 있다.
우리는 제로 지식 기술의 미래에 대한 또 다른 기대는 공격에 대한 저항 능력과 관련된 코드의 성숙도라고 생각한다. 작성된 코드의 양이 증가함에 따라, 다양한 제로 지식 증명 기술에 대해 더 많은 안전하고 검토된 라이브러리와 모범 사례가 사용될 것이다. 물론 미래에는 발견되고 소통되어야 할 더 많은 일반적인 오류가 있을 것이다. 우리는 이 분야가 성숙해지고 높은 채택률을 가지며, 프로토콜의 표준화를 위해 노력하고 서로 다른 구현 간의 상호 운용성을 보장할 것으로 기대하고 있다. ZKProof라는 프로젝트가 이미 이러한 작업을 시작하였다.
제로 지식 기술 커뮤니티에서 계속 존재할 또 다른 추세는 효율적인 알고리즘과 가능한 특수 하드웨어에 대한 더 많은 작업이다. 최근 몇 년 동안 우리는 증명 크기의 감소와 증명자 및 검증자가 더 효율적으로 변하는 것을 보았다. 알고리즘, 특수 하드웨어 및 계산 최적화의 발전은 더 빠르고 더 확장 가능한 구현을 가져올 수 있다.
현재의 알고리즘 효율성은 미래 제로 지식 증명 기술 사용자에게 유리하지만, 우리는 제로 지식 증명의 기능이 계속 확장되기를 기대한다. 과거에는 사전 처리 ZK-SNARK를 구현할 때 많은 사례를 경험했다. 이제 우리는 점점 더 많은 업그레이드 가능한 ZK-SNARK 사례를 발견하고 있다. 또한 일부 제로 지식 증명 기술의 사용은 그 제로 지식 능력보다 간결성 때문에 더 많다.
마지막으로 제로 지식 증명 기술의 또 다른 추세는 기계 학습과 제로 지식 증명의 교차(ZKML)이다. 이 아이디어는 다자 환경에서 대형 언어 모델을 훈련하고 제로 지식 기술을 사용하여 계산을 검증하는 것을 필요로 한다. 이는 현재 인공지능에 매우 유용하다. 이 분야에서 프로젝트가 부상할 가능성이 있다.
결론
이 글은 블록체인 보안 동맹의 구성원들이 공동으로 작성하였으며, 이 글을 통해 우리는 제로 지식 증명이 블록체인 분야에서 광범위하게 응용되고 있는 것과 기술 경로, 발전 추세 및 직면한 도전에 대해 알 수 있다. 하드웨어 기술과 암호학의 발전에 따라, 제로 지식 증명은 미래에 더 많은 돌파구를 이루어 디지털 세계에 더 빠르고 안전한 응용 서비스를 제공할 것이다.