a16z Crypto의 최신 zkEVM 솔루션 Jolt를 한 기사로 읽어보세요.
원저자: Frank, PANews
4월 10일, a16z Crypto는 블록체인 확장 작업을 가속화하고 단순화하도록 설계된 Jolt라는 zkEVM 솔루션을 출시했습니다. Jolt는 SNARK 영지식 증명을 통합하고 EVM 호환 롤업을 위한 프레임워크를 제공하며 개발자가 SNARK 기반 L2 솔루션을 만드는 데 도움을 줄 수 있습니다. 팀은 Jolt가 현재 zkVM에 비해 두 배 빠르다고 말합니다.
Jolt의 기술 원리는 상대적으로 복잡하므로 다음은 관련될 수 있는 여러 기술 용어 간의 관계에 대한 간략한 설명입니다.
zkSNARK는 zkVM 및 zkEVM이 구축되는 기반이 되는 강력한 영지식 증명 프리미티브입니다.
zkVM은 모든 명령어 세트를 지원하는 일반적인 영지식 가상 머신 개념입니다.
zkEVM은 zkVM의 특별한 경우로, 특별히 EVM과 호환되도록 설계되었습니다.
ZK Rollup은 zkVM 또는 zkEVM을 사용하여 개인 정보 보호를 고려하면서 Ethereum의 확장성을 향상시킵니다.
졸트는 무엇입니까?
Jolt는 zkVM(영지식 가상 머신)을 구축하기 위한 더 간단하고 효율적인 솔루션을 제공하는 새로운 SNARK 솔루션입니다. 실제로 a16z 암호화폐는 이미 2023년 8월 초에 Lasso와 Jolt라는 관련 개념을 제안한 바 있었습니다. 이 두 기술은 SNARK 기술의 느리고 높은 비용이라는 맥락에서 제안되었습니다.
그중 Lasso는 증명 비용을 크게 줄일 수 있는 새로운 조회 매개변수이며, Lasso를 사용하는 Jolt는 소위 zkVM 및 더 넓은 프런트엔드를 위한 SNARK를 설계하기 위한 새로운 프레임워크를 제공합니다. 함께 SNARK 디자인의 성능, 개발자 경험 및 감사 가능성을 향상시켜 결과적으로 web3에서의 구축을 향상시킵니다. 이는 블록체인 분야에서 영지식 증명의 사용을 향상시킬 것입니다.
Jolt를 이해하기 전에 먼저 zkVM과 zkEVM을 이해해야 할 수도 있습니다.
zkVM은 영지식 가상 머신을 가리키는 일반적인 개념입니다. zkEVM과 마찬가지로 zkVM을 사용하면 프로그램을 C++ 또는 Rust와 같은 고급 언어로 작성할 수 있으며, 가상 머신은 프로그램을 일부 중간 표현(예: 회로 또는 산술 제약 조건)으로 컴파일한 다음 다음과 같은 증명 시스템을 사용합니다. 중간 표현의 실행 프로세스를 증명하기 위해 zkSNARK로 사용됩니다. zkEVM과 비교하여 zkVM은 EVM과의 호환에만 국한되지 않고 모든 명령어 세트를 지원합니다. Jolt는 RISC-V 명령어 세트를 위한 고성능 zkVM 구현입니다.
우리는 zkVM을 프라이버시를 보호하면서 미리 정해진 절차에 따라 실제로 계산을 수행했음을 외부 세계에 증명할 수 있는 특별한 블랙 박스라고 생각할 수 있습니다. 그러나 기존 zkVM은 이 증명을 생성하는 과정에서 지루한 계산이 많이 필요하므로 성능이 매우 낮습니다.
Jolt의 핵심 혁신은 이 증명을 생성하기 위한 보다 효율적인 수학적 방법을 찾는 것입니다.
첫째, Jolt는 증명할 계산을 우리가 잠정적으로 계산 다항식이라고 부르는 특수 다항식으로 변환했습니다. 이 다항식의 특징은 블랙박스가 실제로 계산을 올바르게 수행한 경우에만 그 값이 0이 된다는 것입니다.
계산 다항식의 값이 0이라는 것을 증명하기 위해 Jolt는 sumcheck라는 대화형 프로토콜을 사용합니다. 이 프로토콜은 전체 다항식을 실제로 계산하지 않고도 짧은 시간 안에 다항식 값이 0이라는 것을 검증자에게 확신시킬 수 있습니다. 이는 교사가 학생의 몇 가지 문제만 확인하여 시험지 전체가 올바른지 여부를 판단하는 것과 다소 비슷합니다.
Jolt의 기술적 장점
Jolt의 기술 원리는 간단하게 말하면 복잡합니다. 블록체인 네트워크의 개발 과정에서 zkVM은 블록체인 네트워크의 확장성을 향상시키고 개인 정보 보호를 보장하면서 효과적인 증거를 제공할 수 있는 핵심 기술입니다. 최근 홍콩 Web3 카니발의 기조 연설에서 Vitalik은 zkSNARK 기술에 대해 자세히 논의했습니다. Vitalik은 “ZKSNARKS를 찾는 것은 개인 정보 보호 측면에서 매우 유용하며 확장성 측면에서도 매우 유용합니다.”라고 말했습니다.
그러나 생성 증명의 속도와 계산 오버헤드는 항상 zkSNARK 기술의 실제 구현에 있어 주요 과제였으며 최근 몇 년 동안 학계와 산업계에서도 연구의 초점이 되어 왔습니다. Pinocchio 및 Groth 16과 같은 기존 zkSNARK 체계는 더 복잡한 계산 논리를 증명하는 데 최대 몇 시간 또는 심지어 며칠이 걸릴 수 있으며 많은 양의 메모리 및 스토리지 리소스가 필요합니다. 이러한 성능 병목 현상은 많은 실제 시나리오에서 zkSNARK의 적용을 심각하게 제한합니다.
그리고 실시간 검증을 위해 블록체인을 대규모로 적용하려는 경우. zkSNARK의 성능을 향상시키는 것은 매우 중요한 단계입니다.
특히, zkSNARK의 증명 생성 프로세스에는 타원 곡선 쌍, 다항식 보간 등과 같은 복잡한 암호화 알고리즘이 포함됩니다. 이러한 작업은 많은 컴퓨팅 리소스를 소비합니다. 특히 증명되는 계산 회로의 규모가 클 경우 증명 생성의 계산 복잡도는 기하급수적으로 증가합니다.
a16z Crypto에 따르면 CPU에서 초기 Jolt 구현은 RISC Zero보다 약 6배 빠르고 최근 출시된 SP 1보다 2배 빠르며, Jolt는 앞으로 몇 주 안에 약 1.5배 더 빨라질 것으로 예상됩니다.
Jolt는 현재 기존 zkVM보다 2배 이상 빠르지만, 여전히 최적화할 여지가 많습니다.
Jolt는 또한 다항식의 특정 대수적 속성을 교묘하게 활용하여 보다 효율적인 다항식 확약 방식을 구현합니다. 이를 통해 증명 크기와 확인 시간이 더욱 단축됩니다.
Jolt가 가져올 수 있는 변화
엔지니어링 관점에서 볼 때 Jolt는 더 컴팩트한 회로 설계, 더 효율적인 파이프라인, 더 충분한 병렬화 등과 같은 일련의 최적화 방법을 사용하여 하드웨어의 컴퓨팅 성능을 최대화합니다.
당신이 이더리움에 온체인 포커 게임을 배포하려는 Web3 개발자라고 가정해 보겠습니다. 이 게임에는 체인에서 셔플링, 딜링, 카드 크기 비교 등이 필요하며, 각 작업에는 개인 정보 보호 및 검증 가능성을 달성하기 위해 zkVM 회로가 필요합니다.
ZoKrates 또는 bellman과 같은 기존 zkVM 솔루션을 사용하는 경우 이러한 회로를 구축하는 데 몇 시간 또는 며칠이 걸릴 수 있습니다. 현재 zkVM 성능은 여전히 상대적으로 낮기 때문에 복잡한 회로의 영지식 증명을 생성하려면 많은 컴퓨팅 리소스와 시간 오버헤드가 필요합니다. 이는 개발 및 테스트 주기가 매우 길어질 수 있음을 의미합니다.
그리고 Jolt를 사용하여 동일한 회로를 구축하면 상황이 크게 달라집니다. Jolt 팀의 테스트에 따르면 현재 Jolt 구현은 이미 주류 zkVM 솔루션보다 증명 생성 속도가 2~5배 빠릅니다. 즉, 원래 증거를 생성하는 데 10시간이 걸렸다면 이제는 2~5시간밖에 걸리지 않을 수 있습니다.
전반적으로 Jolt가 가져온 성능이 2~5배 향상되었다는 것은 zkVM 기술의 유용성과 사용 용이성이 크게 향상되었음을 의미합니다. 이는 Web3 개발자의 임계값을 크게 낮추고 애플리케이션 개발 주기를 단축하며 최종 사용자에게 더 나은 경험을 제공할 것입니다. 장기적으로 Jolt는 zkVM 기술의 대규모 적용을 가속화하여 모든 Web3 사용자에게 더 많은 개인 정보 보호 및 검증 가능한 컴퓨팅 기능을 제공할 것으로 예상됩니다.
물론 Jolt는 아직 개발 초기 단계이고, 2~5배 성능 향상은 시작에 불과합니다. Jolt 기술의 지속적인 반복 최적화를 통해 zkVM의 성능은 더욱 향상되어 궁극적으로 Web3의 대규모 애플리케이션을 위한 길을 닦을 것입니다.


