a16z Crypto 최신 발표 zkVM 솔루션 Jolt가 가져올 변화는 무엇인가요?
저자: Frank, PANews
4월 10일, a16z Crypto는 블록체인 확장 작업을 가속화하고 간소화하기 위해 설계된 zkEVM 솔루션인 Jolt를 발표했습니다. Jolt는 SNARK 제로 지식 증명을 통합하여 EVM 호환 롤업을 위한 프레임워크를 제공하며, 개발자가 SNARK 기반 L2 솔루션을 구축하는 데 도움을 줍니다. 팀은 현재의 zkVM에 비해 Jolt의 속도가 "두 배 빠르다"고 밝혔습니다.
Jolt의 기술 원리가 다소 복잡하므로, 다음은 관련된 몇 가지 기술 용어에 대한 간단한 설명입니다:
zkSNARK는 zkVM 및 zkEVM 구축의 기초가 되는 강력한 제로 지식 증명 원리입니다.
zkVM은 임의의 명령어 집합을 지원하는 일반적인 제로 지식 가상 머신 개념입니다.
zkEVM은 EVM과 호환되도록 특별히 설계된 zkVM의 특수한 경우입니다.
ZK 롤업은 zkVM 또는 zkEVM을 사용하여 이더리움의 확장성을 높이면서 개인 정보 보호를 동시에 고려합니다.
Jolt란 무엇인가?
Jolt는 SNARK의 새로운 솔루션으로, zkVM(제로 지식 가상 머신)을 구축하기 위한 더 간결하고 효율적인 방법을 제공합니다. 실제로, 2023년 8월에 a16z crypto는 Lasso와 Jolt 관련 개념을 이미 제안했습니다. SNARK 기술이 느리고 비용이 많이 드는 상황에서 이 두 기술이 제안되었습니다.
그 중 Lasso는 증명자 비용을 크게 줄일 수 있는 새로운 검색 매개변수입니다; Jolt는 Lasso를 사용하여 소위 zkVM 및 더 넓은 프론트 엔드 디자인 SNARK를 위한 새로운 프레임워크를 제공합니다. 이들은 SNARK 설계의 성능, 개발자 경험 및 감사 가능성을 향상시켜 웹3에서의 구축을 개선합니다. 이를 통해 블록체인 분야에서 제로 지식 증명의 사용을 증대시킵니다.
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은 블록체인 네트워크의 확장성을 높이는 핵심 기술로, 개인 정보를 보호하면서도 효과적인 증명을 제공합니다. Vitalik은 최근 홍콩 Web3 축제에서의 주제 발표에서 zkSNARK 기술에 대해 자세히 설명했습니다. Vitalik은 "ZKSNARKS는 개인 정보 보호 측면에서 매우 유용하며, 확장성 측면에서도 매우 유용하다"고 말했습니다.
하지만 증명 생성 속도와 계산 비용은 zkSNARK 기술의 실용화에 있어 큰 도전 과제가 되어왔으며, 최근 몇 년간 학계와 산업계에서 집중적으로 연구되고 있는 방향입니다. 전통적인 zkSNARK 솔루션인 Pinocchio와 Groth16은 복잡한 계산 논리를 증명할 때 증명 생성 시간이 몇 시간 또는 며칠에 이를 수 있으며, 많은 메모리와 저장 자원을 소모해야 합니다. 이러한 성능 병목 현상은 많은 실제 상황에서 zkSNARK의 적용을 심각하게 제한합니다.
블록체인이 대규모 응용을 실현하고 실시간 검증 효과를 달성하려면 zkSNARK의 성능 향상이 매우 중요한 단계입니다.
구체적으로, zkSNARK의 증명 생성 과정은 복잡한 암호학 알고리즘(예: 타원 곡선 쌍, 다항식 보간 등)을 포함하며, 이러한 작업은 계산 자원을 매우 많이 소모합니다. 특히 증명해야 할 계산 회로의 규모가 클 경우, 증명 생성의 계산 복잡도는 기하급수적으로 증가합니다.
a16z Crypto에 따르면, CPU에서 초기 Jolt 구현은 RISC Zero보다 약 6배 빠르고, 최근 발표된 SP1보다 2배 빠르며, 향후 몇 주 내에 Jolt의 속도를 약 1.5배 더 높일 계획입니다.
현재 Jolt의 속도는 기존의 zkVM보다 2배 이상 빠르지만 여전히 큰 최적화 여지가 있습니다.
Jolt는 또한 다항식의 특정 대수적 성질을巧妙하게 활용하여 더 효율적인 다항식 약속 방안을 구현했습니다. 이는 증명의 크기와 검증 시간을 더욱 줄여줍니다.
Jolt가 가져올 변화
공학적 관점에서 Jolt는 더 간결한 회로 설계, 더 효율적인 파이프라인, 더 충분한 병렬화 등 일련의 최적화 수단을 채택하여 하드웨어의 계산 능력을 최대한 활용합니다.
당신이 Web3 개발자라고 가정해 보겠습니다. 이더리움에 체인 상 포커 게임을 배포하고 싶습니다. 이 게임은 체인에서 셔플, 카드 배포, 카드 비교 등의 작업을 수행해야 하며, 각 작업은 zkVM 회로를 통해 개인 정보 보호와 검증 가능성을 구현해야 합니다.
현재의 zkVM 솔루션인 ZoKrates 또는 bellman을 사용하면, 이러한 회로를 구축하는 데 몇 시간 또는 며칠이 걸릴 수 있습니다. 현재의 zkVM 성능이 여전히 낮기 때문에 복잡한 회로의 제로 지식 증명을 생성하는 데 많은 계산 자원과 시간이 소모됩니다. 이는 개발 및 테스트 주기가 매우 길어질 수 있음을 의미합니다.
그러나 Jolt를 사용하여 동일한 회로를 구축하면 상황이 크게 달라집니다. Jolt 팀의 테스트에 따르면, 현재 Jolt 구현은 증명을 생성하는 속도가 주류 zkVM 솔루션보다 2-5배 빠릅니다. 이는 원래 증명을 생성하는 데 10시간이 걸렸다면, 이제는 2-5시간만에 가능하다는 것을 의미합니다.
종합적으로, Jolt가 가져오는 2-5배 성능 향상은 zkVM 기술의 유용성과 사용 용이성이 크게 개선되었음을 의미합니다. 이는 Web3 개발자의 진입 장벽을 낮추고 애플리케이션 개발 주기를 단축시키며, 최종 사용자에게 더 나은 사용 경험을 제공합니다. 더 나아가, Jolt는 zkVM 기술의 대규모 응용을 가속화하여 더 많은 개인 정보 보호 및 검증 가능한 계산 능력이 모든 Web3 사용자에게 혜택을 줄 수 있도록 할 것으로 기대됩니다.
물론, Jolt는 현재 개발 초기 단계에 있으며, 2-5배의 성능 향상은 시작에 불과합니다. Jolt 기술의 지속적인 반복 최적화에 따라 zkVM의 성능은 더욱 향상될 것이며, 궁극적으로 Web3의 대규모 응용을 위한 길을 열어줄 것입니다.