
zkSync Boojum 업그레이드 상세 설명: 더욱 안전하고 효율적인 zkEVM
작성: zkSync
편집: TechFlow

TLDR
-
업그레이드: zkSync Era가 새로운 Boojum 증명 시스템으로 전환 중이며, 리제네시스 없이 진행됩니다.
-
성능: Boojum은 일류 수준의 증명 성능을 보여주며, 이미 초당 100건 이상의 거래(TPS)를 처리할 수 있는 zkSync Era 정렬기와 완벽하게 보완됩니다.
-
탈중앙화: Boojum 증명자는 단 16GB RAM만 필요로 하여, 향후 대규모 증명자 탈중앙화를 가능하게 합니다.
zkSync의 사명은 신뢰하지 않아도 되는, 안전하고, 허가가 필요 없으며, 가격이 합리적이며, 사용하기 쉬우며, 탄력적이고 무한히 확장 가능한 블록체인 네트워크를 구축함으로써 모든 사람의 개인 자유를 진전시키고 디지털 자기 소유권을 누구나 쉽게 이용할 수 있게 만드는 것입니다.
이 사명을 수행하기 위해, zkSync Era의 알파 버전은 3개월 전 일반에 공개되었으며, 반응은 매우 인상적이었습니다. 주요 네트워크 성과는 다음과 같습니다:
-
총 예치 자산 가치(TVL) 5억 7700만 달러 (출처: L2Beat);
-
지난 30일 동안 총 2375만 건의 거래 — 모든 L2 중에서 가장 많음 (출처: L2Beat);
-
소스 코드 검증된 스마트 계약 9,735개.
2023년 3월, SNARK 기반의 zkSync Era가 등장하였으며, 이는 zkSync Lite가 메인넷에서 거의 3년간 사용해온 실전 검증된 회로 프레임워크를 활용했습니다. 그러나 우리는 이것이 zkSync Era 증명 시스템의 최종 형태가 아님을 알고 있었기 때문에, 리제네시스 없이도 근본적인 변경이 가능한 방식으로 설계하였습니다. 즉, 개발자와 사용자의 활동을 방해하지 않고도 중요한 암호학적 업그레이드를 배포할 수 있습니다.
내부적으로는 오랫동안 암호학적 업그레이드 작업을 진행해왔습니다. 오늘 우리는 첫 번째 업그레이드를 발표하게 되어 기쁩니다. zkSync Era가 "Boojum"이라는 새로운 STARK 증명 시스템으로 전환되고 있습니다.
Boojum 소개
Boojum은 우리가 Rust로 개발한 산술 및 제약 라이브러리로, 이를 통해 zkSync Era와 ZK Stack의 업그레이드된 버전의 ZK 회로를 구현합니다.
Boojum이란?
Boojum의 특징:
-
PLONK 산술화: 제로지식 프로토콜 맥락에서 산술화란 일반적인 계산을 수학적 형식으로 변환하는 과정입니다. 현재 증명 시스템과 마찬가지로, 업그레이드된 시스템도 여전히 PLONK 스타일의 산술화를 채택하고 있습니다. 이러한 접근법은 일부 다른 방법보다 ZK 회로 작성을 더 간단하게 만들어 개발, 감사, 유지보수 및 업그레이드가 용이합니다.
-
강력한 커밋먼트 스킴: Boojum의 핵심은 FRI 커밋먼트 스킴입니다. 이는 유계 다항식에 대한 커밋을 가능하게 하고, 주장된(다항식의) 오프닝이 실제로 저차원 다항식에 속한다는 것을 효율적으로 증명할 수 있도록 해주는 핵심 구성 요소입니다.
-
시스템 효율성: 증명자 성능을 논할 때 증거 생성(witness generation) 시간이 종종 간과되지만, 현재 증명 시스템에서는 최적화된 GPU 증명자가 매우 효율적이어서 증거 생성 시간과 증명 생성 시간이 거의 비슷한 수준에 도달했습니다. Boojum은 의존성 그래프가 허용하는 경우 자동 병렬화가 가능한 증거 생성을 제공하면서도 증거 생성 함수 정의의 용이성을 유지합니다.
-
확장 용이성: 기본 제약 시스템 추상화는 매우 간결하지만, 사용자가 다양한 방식으로 맞춤형 게이트 유형을 추가할 수 있도록 합니다. 예를 들어, 특정 다항식을 추가하거나所谓 '범용 열(generic columns)'을 재사용할 수 있습니다. 사용자가 회로의 간단한 기하 구조를 정의한 후에는 확장 인터페이스를 통해 증명자, 검증자, 재귀 검증자를 자동 생성할 수 있습니다. 이를 통해 매우 효율적인 개발 프로세스가 가능하며, 사용자가 회로 구조를 변경하거나 다른 게이트 유형을 선택하면 인터페이스를 다시 호출하여 키를 재생성하고 올바른 증명자와 검증자를 사용하도록 보장할 수 있습니다.
-
단일 스택: Boojum을 통해 위의 모든 기능이 표준적이고 관용적인 Rust 표현만으로 가능합니다. GPU 증명자의 계산 집약 부분은 CUDA C++로 작성되어 있지만, 조합을 위해 Rust 바인딩을 제공합니다.
Boojum은 기본적으로 크기가 2^64 - 2^32 + 1인 소수체("Goldilocks field"라고 불림)를 사용하며, Poseidon2 해시 함수와 같은 해당 필드에 대한 바인딩 원시 함수를 구현합니다. 또한 표준 암호화 원시 함수들에 대해 조회 테이블 기반의 구현도 제공하는데, SHA256, Keccak256, Blake2s 등이 포함됩니다.
중요한 점은 마지막 단계에서 비투명한 페어링 기반의 SNARK를 사용하여 STARK 증명을 래핑하고, 이를 이더리움에서 검증한다는 점입니다. 이 증명은 훨씬 작고 검증 비용이 낮아 증명 시스템 전체의 비용을 줄이며, 궁극적으로 거래 자체의 비용도 낮춥니다.
왜 Boojum인가?
Boojum 설계 시 결정을 내리는 데 영향을 준 두 가지 핵심 요소는 (1) 세계 최고 수준의 증명 성능과 (2) 탈중앙화를 위한 하드웨어 요구사항의 감소였습니다.
세계 최고 수준의 성능
현재 SNARK 기반의 시스템은 현재로서는 효과적이지만, ZK Stack 내에서 고거래량, 실시간에 가까운 거래 처리로는 확장되지 않습니다. zkSync Era는 미래에 Hyperchain으로서 운영되는 것을 목표로 하며, 몇 년 내에 이러한 시스템들을 지원할 계획입니다. 우리는 이러한 시스템들이 증명을 저렴하고 빠르게 생성·검증할 수 있어야 빠른 최종성과 Hyperchain 간 상호 운용성을 실현할 수 있다고 생각합니다.
증명 시스템의 성능은 사용자가 자신의 거래에 지불하는 수수료에 직접적인 영향을 미칩니다. 장기적으로 이러한 비용은 제로에 수렴해야 합니다. 현재 증명 시스템은 충분히 효율적이어서 몇 달 만에 수백만 건의 거래를 처리할 수 있는 zkEVM을 구축하는 데는 적합하지만, Boojum을 통해 우리는 더 나은 성능을 낼 수 있습니다!
네트워크의 증명 생성 시간(및 기타 성능 관련 주요 지표)을 측정하기 위해, Celer팀과 협력하였습니다. Celer팀은 여러 증명 시스템의 벤치마킹과 분석에 풍부한 경험을 가지고 있습니다. 아래 이미지에서 확인할 수 있듯이, Boojum은 대부분의 성능 평가 시스템에서 우수한 성능을 보여줍니다. 결과는 말이 필요 없습니다. 우리의 구현은 세계 최고 수준의 증명 성능을 입증하며, 현재 생산 환경에서 사용되는 가장 빠른 증명 시스템이라고 할 수 있습니다.
공정한 비교를 위해 Celer은 CPU 기반 증명자로 벤치마크를 수행했지만, 우리의 메인넷 시스템은 더 빠른 GPU 기반 증명자를 사용합니다.

STARK 기반 증명 시스템으로 전환하는 것은 성능의 눈에 띄는 향상을 의미하며, zkSync Era 및 기타 ZK Stack 기반 시스템의 증가하는 활동 수준에 대한 빠른 최종성과 낮은 지연 시간을 보장하는 데 기여할 것입니다.
탈중앙화를 위한 하드웨어 요구사항 감소
이 성능 결과는 우리가 최적화하는 유일한 지표가 아니라는 점에서 특히 인상적입니다. 우리는 시스템 성능을 향상시키는 동시에 실행에 필요한 하드웨어 요구사항을 낮추고자 했습니다.
현재 널리 사용되는 증명 시스템, 우리 기존 시스템을 포함하여, 하드웨어 요구사항이 매우 높습니다. 현재 증명 시스템은 각각 80GB RAM을 가진 A100 GPU 세트에서 실행됩니다. 고가이며 강력한 머신에 대한 이러한 요구는 사용자가 주도하는 탈중앙화된 증명 생성이라는 우리의 목표에 큰 장애물이 됩니다. 이를 실현하기 위해서는 증명 생성을 무허가로 만드는 것만으로 충분하지 않습니다. 사용자들이 수백 GB의 RAM을 가진 고가의 머신을 갖출 필요 없이도 참여할 수 있어야 합니다.
이 역시 우리가 매우 인상적인 진전을 이루어낸 분야입니다! Boojum용 GPU 증명기는 단 16GB의 RAM만 필요로 하며, 이러한 낮은 장벽은 우리가 꿈꾸는 미래로 가는 중요한 한 걸음입니다. CPU 기반 증명은 최저 64GB RAM으로도 가능하며, 이를 32GB까지 낮추고 현대의 멀티코어 프로세서를 최대한 활용할 계획입니다.
마지막으로, zkSync Era의 Rust 기반 정렬기는 이미 초당 100건 이상의 거래(TPS)를 처리할 수 있습니다. 새로운 증명 시스템의 도입은 성능을 향상시킬 뿐 아니라 하드웨어 요구사항을 낮춰 정렬기와의 이상적인 조합을 이룹니다. Boojum이 가져오는 성능 향상은 시스템이 거래를 더 빨리 증명할 수 있음을 의미하며, 하드웨어 요구사항 감소는 더 저렴한 머신에서도 네트워크에 쉽게 접근할 수 있도록 하여 수평적 확장성을 높입니다.
Boojum의 메인넷 여정
팀은 이 업그레이드를 개발하는 데 수개월을 투자했으며, 이제 메인넷에서 시스템을 테스트하는 단계에 도달하게 되어 매우 기쁩니다. 지금까지의 이야기 일부를 여러분과 함께 나누고자 합니다.
zkSync Era 업그레이드
우선, zkSync Era는 시간이 지남에 따라 각 구성 요소를 업그레이드할 수 있도록 설계되었으며, 증명 시스템 역시 예외가 아닙니다.
이더리움과 마찬가지로, 우리는 Merkle 트리 데이터 구조를 사용하여 네트워크 상태 정보를 저장합니다. 우리가 시스템 상태에 관한 진술을 증명하고 있기 때문에, 이 정보는 증명 시스템에 필수적입니다. 이 Merkle 트리(및 증명 시스템이 이를 어떻게 상호작용하는지)를 위해 핵심 설계 결정 중 하나는 대수적이지 않은 해시 함수, 구체적으로 Blake2s를 사용하는 것이었습니다. 증명 생성의 편의성만을 최적화했다면 대수적 해시 함수(Poseidon2 등)를 사용했겠지만, 이런 선택은 관측 가능한 상태를 증명 시스템 매개변수(예: 소수체 선택)에 결합시키게 됩니다. 그 결과 증명 시스템의 어떤 업그레이드라도 상태를 완전히 재생성해야 하는 부담을 떠안게 됩니다.
설계에서 감사까지의 Boojum 여정
약 한 달 전, 새로운 증명 시스템 구현의 완전한 엔드투엔드 버전을 점차 구축하기 시작했습니다. 이 변화의 복잡성과 시스템의 정확성이 얼마나 중요한지를 고려하여, 일련의 내부 및 외부 감사를 시작했습니다.
당시 zkEVM 회로와 Boojum 산술화 라이브러리는 여전히 활발히 개발 중이었지만, 우리는 외부 보안 감사원과 협력하여 주요 회로와 Boojum 구성 요소의 건전성 문제를 조기에 식별하는 데 집중했습니다. 우리는 그들에게 전체 소스 코드와 문서에 대한 접근 권한을 제공하며 긴밀히 협력하였고, 이들은 자동화 및 수동 테스트 방법을 사용하여 zkEVM 회로와 Boojum의 소도구(gadgets)를 검토하고 테스트했습니다.
Boojum: 감사에서 테스트로
이제 오늘날에 이르러, 다음 단계인 메인넷 샤도우 모드(shadow mode)를 단계적으로 출시합니다. 우리는 기존 증명 시스템과 병렬로 새로운 증명 시스템을 운영하고 있으며, Boojum은 현재 테스트 단계에 머물고 있습니다. 이미 메인넷 블록에 대해 "샤도우 증명(shadow proofs)"을 생성하고 검증하기 시작했습니다.
이 샤도우 증명들은 zkSync Era 메인넷 운영에 필수적이지는 않습니다. 메인넷은 여전히 기존 증명 시스템에 의해 구동됩니다. 우리는 이 샤도우 증명을 검증함으로써 시스템을 추가로 테스트하고 최적화하지만, zkSync Era 사용자 활동의 실제 운영 데이터를 사용합니다.
Boojum: 테스트에서 메인넷으로
우리가 하는 모든 일과 마찬가지로, 보안은 항상 최우선 사항입니다. 새로운 시스템에 대한 테스트에 완전히 만족할 때까지는 마이그레이션을 고려하지 않을 것이며, 향후 몇 주 및 몇 달 내에 더 많은 세부 정보를 공유할 예정입니다. 또한 추가 감사 및 보안 평가를 계획하여 이 흥미로운 업그레이드를 완전한 배포에 더욱 가깝게 만들고, 기존 증명 시스템을 점차 퇴출할 계획입니다.
우리는 Boojum이 zkEVM의 다음 단계로서 더 안전하고, 확장 가능하며 효율적인 시스템이라고 믿습니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














