저자: Thomas Coratger , Giacomo Fenzi
통찰력 있고 건설적인 피드백을 주신 Justin Drake 와 Tom Wambsgans 에게 감사드립니다.
서론: WHIR이 미래에 이더리움에 사용될 수 있는 이유와 방법은 무엇인가?
이더리움의 확장성이 높아짐에 따라 SNARK 증명 시스템에 대한 요구는 점점 더 커지고 있습니다. 증명은 매우 작아야 하고, 검증은 번개처럼 빨라야 하며, 전체 시스템은 최소한의 하드웨어에서도 검증할 수 있을 만큼 간단하고 견고해야 합니다. 이상적으로는 저스틴 드레이크가 Ethproofs 컨퍼런스 2 에서 제안했듯이, 라즈베리 파이 피코 2처럼 제약이 있는 하드웨어가 이상적입니다. 이러한 맥락에서 차세대 SNARK의 시험장으로 유력한 애플리케이션이 하나 있습니다. 바로 이더리움의 차기 린 체인을 위한 서명 집계입니다. 높은 처리량, 엄격한 지연 시간, 최소 검증 비용, 포스트 퀀텀 설정이라는 적절한 제약 조건을 모두 충족하며, 이 글 전체에서 실제 적용 사례로 활용될 것입니다.
이러한 요구는 증명 시스템에서 더 광범위한 추세, 즉 단변량 다항식 표현에서 다중선형 다항식 표현으로의 전환을 촉진하고 있습니다. 그러나 다중선형 환경에서 작업하려면 새로운 도구, 특히 FRI(Fast Reed-Solomon Interactive Oracle Proof of Proximity) 와 같은 프로토콜이 더 이상 유효하지 않은 근접성 테스트를 위한 도구가 필요합니다. 바로 이 부분에서 WHIR이 등장합니다. WHIR은 제약 조건이 있는 Reed-Solomon 코드를 위한 재귀적 해시 기반 근접성 테스트 프로토콜입니다. 단변량 및 다중선형 모드 모두에서 효율적으로 작동하도록 설계되어 광범위한 증명 시스템에 충분히 유연합니다. WHIR은 핵심적으로 두 가지 우아한 아이디어를 결합합니다. STIR에서 영감을 받은 재귀적 폴딩 메커니즘은 라운드별로 도메인을 압축하고, BaseFold와 유사한 가벼운 합계 검사 기반 제약 조건 검사는 최소한의 오버헤드로 대수적 정확성을 보장합니다.
그 결과, 이더리움의 핵심 속성인 간결성을 구현하는 도구가 탄생했습니다. WHIR은 작은 증명(일반적으로 100KB 미만, 리드 솔로몬 코드가 용량까지 상호 상관 관계를 가진다고 가정하는 128비트 보안 포함), 빠른 검증(선택한 해시 함수에 따라 일반적으로 1밀리초에서 수 밀리초 미만), 그리고 낮은 메모리 사용량을 제공하면서도 해시 기반 암호화 가정에만 의존합니다. WHIR은 작고 가스 비용이 낮은 SNARK를 지원하고, 효율적인 서명 집계를 가능하게 하며, 검증자의 단순성이 매우 중요한 시스템에서 재귀적 증명을 위한 길을 열어줍니다.
이 글의 나머지 부분에서는 WHIR의 작동 방식, 중요성, 그리고 Ethereum의 효율적인 증명 시스템의 미래를 형성하는 데 어떻게 도움이 될 수 있는지 살펴보겠습니다.
현대 SNARK에 대한 몇 가지 맥락
최신 SNARK는 일반적으로 다항식 상호 작용형 오라클 증명(PIOP) 위에 다항식 커밋 스킴(PCS)을 겹쳐 구축합니다. 일반적인 예로 AIR(Algebraic Intermediate Representation) 모델이 있는데, 여기서 증명자는 테이블의 각 열을 단변량 다항식으로 인코딩하여 실행 추적을 수행합니다. 이 전략은 간단하지만 확장성 병목 현상을 야기합니다. 모든 열이 별도의 다항식이 되어 증명 크기가 커지고 검증 비용이 많이 들며, 수백 개의 열이 관련된 경우 종종 메가바이트 단위에 달합니다.
이를 극복하기 위해 최근 증명 시스템은 단변량 표현에서 다중선형 표현으로 전환하고 있습니다. 각 열에 개별적으로 커밋하는 대신, 전체 위트니스(witness)를 단일 다중선형 다항식으로 인코딩합니다. 이러한 변화는 압축률 향상, 제약 조건 표현 간소화, 그리고 트레이스의 모양이 아닌 전체 표면에 따라 달라지는 증명 크기 등 여러 가지 이점을 제공합니다. Binius , Jolt , SP1 Hypercube 와 같은 시스템은 이러한 추세를 수용했으며, SP1은 다중선형 커밋을 사용하여 이더리움 블록에 대한 실시간 증명을 최초로 시연했습니다.
이 다중선형 설정에서 제약 조건 검증은 몫 다항식을 구성하고 평가하는 대신 sumcheck 프로토콜을 사용하여 수행할 수 있습니다. Sumcheck는 더 나은 모듈성을 제공하고 다중선형 인코딩과 원활하게 작동하지만 작은 필드를 사용할 때 성능 저하가 발생합니다. 이러한 제한은 최근 "단변량 건너뛰기" 최적화 로 해결되었는데, 이 최적화는 첫 번째 라운드에서 여러 변수를 기본 필드 내에서 완전히 접어 sumcheck를 가속화합니다. 저렴한 기본 필드 도메인에서 더 많은 작업을 미리 수행함으로써 단변량 건너뛰기는 이후 라운드에서 비용이 많이 드는 확장 필드 평가를 줄여 건전성을 희생하지 않고도 증명자 속도를 크게 향상시킵니다. 이 방법 외에도 sumcheck 프로토콜을 가속화하는 다른 접근 방식이 연구되고 있습니다. 최근 주목할 만한 연구 분야는 S. Bagad와 공동 저자 가 제안한 것입니다.
이 새로운 스택 내에서 WHIR은 중요한 역할을 합니다. 근접성 테스트 단계를 수행하여 커밋된 다중선형 함수가 실제로 유효한 코드워드에 가까운지 확인합니다.
WHIR은 어떻게 작동하나요?
이 섹션에서는 WHIR의 작동 방식을 직관적이면서도 엄밀하게 설명하며, 완전한 공식 증명을 탐구하지 않고 핵심 메커니즘만 강조합니다. 엔지니어에게 명확하고 이해하기 쉬운 이해를 제공하는 것이 목표입니다.
리드-솔로몬 코드 근접 테스트
높은 수준에서 WHIR은 함수 f : \mathcal{L} \to \mathbb{F} f : L → F 가 저차 다항식에 "가깝다"는 점과 이 다항식이 일부 대수적 제약 조건을 충족한다는 점을 확인하는 도구입니다.
리드-솔로몬 부호란 무엇인가요?
리드-솔로몬 코드는 유한체 위에서 저차 다항식을 계산하여 생성되는 함수 집합입니다. 더 정확하게는, 유한체 \mathbb{F} F 와 평가 영역이라고 하는 부분집합 \mathcal{L} \subseteq \mathbb{F} L ⊆ F를 선택한다고 가정합니다. 차수가 d 인 리드-솔로몬 코드는 다음 과 같습니다.
다시 말해, 이는 정의역 \mathcal{L} L 에서 d d 차수보다 작은 모든 가능한 평가표입니다. 함수 f f 가 "코드 안에 있다"고 말할 때, 이는 해당 다항식과 일관성이 있다는 것을 의미합니다. f f 가 코드에 "가까운" 경우, \mathcal{L} L 의 대부분 지점에서 특정 코드워드와 일치한다는 것을 의미하며, 이를 근접성이라고 합니다.
근접 테스트가 왜 중요한가요?
증명 시스템에서 증명자는 검증자에게 저차 다항식을 계산하는 것처럼 보이지만 실제로는 그렇지 않은 함수 f f 를 보낼 수 있습니다. 건전성을 보장하기 위해 검증자는 f f 가 리드-솔로몬 코드의 실제 코드워드에 가까운지 확인해야 합니다. 이것이 근접성 테스트의 핵심입니다.
다중선형 뷰 및 부드러운 코드
WHIR은 RS 코드의 더 구조화된 버전을 사용합니다. 임의의 다항식 대신 다중선형 다항식, 즉 각 변수의 차수가 최대 1인 다항식을 사용합니다. 예를 들어, 변수 x, y, z x , y , z 에서 다중선형 다항식은 3 + 2x + 5y + 7xz 3 + 2 x + 5y + 7xz 처럼 보일 수 있지만, x^2 x 2 또는 y^2z y 2 z 처럼 보일 수는 없습니다.
이를 위해 WHIR은 다음을 가정합니다.
- 도메인 \mathcal{L} L은 크기가 2의 거듭제곱인 \mathbb{F}^* F ∗ 의 곱셈 부분군입니다.
- 차수 경계 d d는 또한 2의 거듭제곱입니다. 즉 d = 2^m d = 2 m 입니다 .
이러한 조건 하에서, 차수가 2^m²m 미만인 모든 단변량 다항식 \hat{f} ^ f는 m m 변수의 다중선형 다항식으로 유일하게 취급될 수 있습니다. x \in \mathcal{L} x ∈ L 지점에서 원래 다항식을 계산하는 것은 x x 에서 유도된 특수 벡터에서 \hat{f} ^ f 라고도 하는 새로운 다중선형 다항식을 계산하는 것과 동일합니다. 이를 통해 다음과 같은 우아한 재해석을 얻을 수 있습니다.
이 변환은 단순 단변량 도메인 \mathcal{L} L 의 각 점을 m m 차원의 부울 하이퍼큐브 위의 한 점으로 매핑합니다. 이를 통해 원래 코드 구조의 단순성을 유지하면서 효율적인 다중선형 기법(예: sumcheck 프로토콜)을 적용할 수 있습니다.
코드에 제약 조건 추가
많은 프로토콜에서 우리는 단순히 f f 가 다항식에 가까운지 확인하는 것만이 아니라, 이 다항식이 특정 대수적 조건을 충족하는지 확인하고자 합니다. 예를 들어, 다음과 같은 조건을 강제로 적용할 수 있습니다.
여기서 \hat{w} ^ w 는 고정된 제약 다항식이고 \sigma σ는 알려진 값입니다.
이를 표현하기 위해 WHIR은 제약 리드-솔로몬 코드(Constrained Reed-Solomon code) 라고 하는 RS 코드의 변형을 사용합니다. 형식적으로는 다음과 같이 정의합니다.
여기서 f f 는 \mathcal{L} L 에 대한 다중선형 다항식 \hat{f} ^ f 의 평가입니다.
이 제약 조건은 f f 가 다항식에서 나올 뿐만 아니라 특정 대수 항등식을 만족한다는 것을 보장합니다.
문제 접기: 재귀적 압축
근접성 테스트를 효율적으로 수행하기 위해 WHIR은 폴딩(folding) 이라는 재귀적 압축 기법을 적용합니다. FRI 및 STIR 과 같은 프로토콜에서 영감을 받은 폴딩은 큰 문제를 점차 더 작고 동등한 문제로 축소합니다. 각 라운드는 함수의 본질적인 속성을 유지하면서 정의역과 복잡도를 줄여 검증자가 최종 검증을 쉽게 수행할 수 있도록 합니다. 충분한 라운드가 지나면 문제가 매우 작아져 직접적이고 저렴하게 검증할 수 있습니다.
WHIR 라운드: 폴딩과 섬체크 결합
이 과정의 핵심 연산은 접기(folding)이며, 직관적인 리드-솔로몬 해석을 통해 가장 잘 이해됩니다. 복잡한 재귀 공식 대신, 정의역 \mathcal{L} L이 작은 블록으로 그룹화된다고 생각할 수 있습니다. 각 블록 내 증명자의 데이터는 작은 국소 다중선형 다항식을 정의합니다. 따라서 전체 블록을 접는 것은 검증자가 무작위로 던진 문제 \alpha α 에서 이 국소 다항식을 계산하는 것만큼 간단합니다.
수학적으로, 새로운 더 작은 도메인에서 점 y y 에 해당하는 점 블록에 대한 로컬 다항식을 p_y(X_1, \dots, X_k) p y ( X 1 , … , X k ) 라고 하면 접기 연산은 다음과 같습니다.
무작위 챌린지 벡터 \alpha \in \mathbb{F}^k α ∈ F k 를 사용하는 이 단일 평가는 원래 블록의 2^k 2 k 지점에 있는 정보를 새 함수에 대한 단일 값으로 우아하게 압축합니다.
WHIR은 이 아이디어를 강력하게 강화합니다. 한 라운드에서 k k 차원의 랜덤 문제 \alpha α를 사용하여 두 프로세스에 병렬로 적용하여 k k 개의 변수를 한 번에 제거합니다.
- k k 라운드 합계 검사는 주요 대수적 제약 조건을 새롭고 더 간단한 제약 조건으로 줄입니다.
- 폴딩(지역적 평가로서)은 함수 자체를 더 작은 함수로 축소합니다.
이 라운드 전체에서는 원래 근접 인스턴스를 훨씬 더 작은 새 인스턴스로 변환합니다. 이때 제약 조건 다항식 \hat{w} ^ w 와 대상 \sigma σ가 모두 업데이트됩니다.
이는 중요한 효율성 향상으로 이어집니다. 변수 개수를 k k 만큼 줄이면(다항식 공간은 2^k 2 k 배로 축소됨) 평가 영역은 절반으로 줄어듭니다. 이렇게 하면 부호화율 \rho = 2^m / |\mathcal{L}| ρ = 2 m / | L | 이 크게 향상됩니다. 새로운 부호화율 \rho' ρ ′ 은 다음과 같습니다.
2^{-k} 2 − k 항은 메시지 공간을 줄이는 것(다항식 계수 감소)에서 비롯되는 반면, 2^1 2 1 항은 도메인 크기를 절반으로 줄이는 것에서 비롯됩니다. 각 라운드에서 코드 속도를 줄이는 것은 WHIR의 낮은 쿼리 복잡도의 핵심 요소입니다.
폴딩의 건전성 보장
접는 과정은 전체 교정 시스템의 보안에 필수적인 건전하고 견고하게 주의 깊게 설계되었습니다.
- 접기는 함수와 코드 사이의 거리를 보존합니다. 함수가 유효한 코드워드에서 멀리 떨어진 곳에서 시작하면 접기 후에도 여전히 멀리 떨어져 있습니다. 대수적 혼합으로는 오류를 숨기거나 상쇄할 수 없습니다.
- 목록 디코딩 설정에서 여러 개의 유효한 코드워드가 증명자의 함수에 근접할 수 있습니다. 폴딩은 (높은 확률로) 이 근처 코드워드 목록 전체를 새롭고 더 작은 문제에 충실하게 매핑하는 것을 보장합니다. 재귀 과정에서 허위 또는 잘못된 해가 생성되지 않으므로 검증자가 오도되지 않습니다.
WHIR 반복 요약
다음 그림에 표시된 각 WHIR 반복은 건전성을 유지하면서 근접성 테스트 문제를 더 작은 문제로 줄입니다.
이 작업은 세 가지 주요 단계로 진행됩니다.
설정
구조화된 정의역 \mathcal{L} L (크기가 2^m 2 m 인 곱셈 부분군)에서 정의된 함수 f : \mathcal{L } \to \mathbb{F} f : L → F 로 시작합니다. 증명자는 f f 가 다중선형 다항식 \hat{f} ^ f 를 계산하여 얻어지며, 이 다항식은 다음과 같은 제약 조건을 만족한다고 주장합니다.
여기서 \hat{w} ^ w 는 간단한 제약 다항식입니다. 이것이 우리가 검증하고자 하는 핵심 명제입니다.
상호작용 단계
검증자는 임의의 챌린지 \alpha α 를 보내는데, 이는 증명자에게 함수를 접도록 지시합니다. 즉, 하나의 변수를 숨겨 두 개의 입력을 하나로 압축합니다. 이렇게 하면 더 작은 도메인 \mathcal{L } ^{( 2)} L ( 2 ) 에 대해 정의되고 m m 대신 m - 1 m − 1 개의 변수를 포함하는 새로운 함수 f ' = \ mathrm { Fold } ( f , \ alpha ) f ′ = F o l d ( f , α )가 생성됩니다.
접기가 정직하게 수행되었는지 확인하기 위해 검증자는 여러 가지 검사를 수행합니다.
- 이 함수는 도메인 외부의 임의의 지점을 샘플링하고 증명자에게 평가를 요청하여 f' f ′가 실제로 저차 다항식에서 나온 것인지 확인합니다.
- 이는 접힌 함수에서 몇 개의 값을 샘플링하고 이를 f f가 말하는 값과 비교하여 일관성을 강화합니다.
- 이 모든 검사(제약 조건 포함)를 무작위 선형 조합을 사용하여 단일 방정식으로 결합하고, 다음 라운드를 위한 새로운 제약 조건 다항식을 준비합니다.
재귀적 주장
라운드가 끝나면 검증자와 증명자는 새로운 주장에 동의합니다. 즉, f' f ′가 더 작은 도메인과 더 적은 변수에 대한 새로운 다항식 \hat{f}' ^ f ′ 에 가깝고 \hat{f}' ^ f ′ 가 새로운 제약 조건을 충족한다는 것입니다.
이 새로운 인스턴스는 원래 인스턴스와 정확히 동일한 형태를 가지며, 단지 크기가 더 작습니다. WHIR은 이 주장을 재귀적으로 실행하여 함수가 직접 확인할 수 있을 만큼 작아질 때까지 동일한 단계를 반복합니다.
이 접근법의 장점은 각 라운드에서 k k 개의 변수를 한 번에 제거할 수 있으면서도, 도메인을 2 2 배 만큼만 축소하여 비율을 줄일 수 있다는 것입니다. 최종적으로 검증자는 원래 함수 f f 가 제약 조건을 충족하는 유효한 코드워드에 가깝다는 높은 확신을 갖게 되며, 이 모든 과정을 매우 적은 노력으로 수행할 수 있습니다.
WHIR이 Ethereum에 제공할 수 있는 것
WHIR의 차별점은 근접성 검사를 수행하는 방식입니다. WHIR은 FRI와 같은 기존 기법에 의존하는 대신, 폴딩 과 합 검사(sumcheck) 를 기반으로 하는 재귀적 접근 방식을 사용하므로 다중 선형 설정(증인이 \{0,1\}^m { 0 , 1 } m 에 대한 함수인 경우)에서 특히 효과적입니다. 이러한 설계는 이더리움 및 유사한 온체인 환경에서 특히 유용한 여러 이점을 제공합니다.
매우 낮은 쿼리 복잡도. WHIR은 근접성 테스트를 수행하는 데 소수의 쿼리만 필요합니다. 즉, 머클 오프닝 횟수가 줄어들고, 체인으로 전송되는 데이터도 줄어들며, 궁극적으로 검증 비용도 크게 절감됩니다.
빠른 검증, 대개 마이크로초에서 밀리초 단위까지. WHIR은 초고속 검증을 위해 설계되었습니다. Keccak이나 Blake3와 같은 고속 해시 함수를 사용할 경우 일반적으로 수백 마이크로초 이내, Poseidon2와 같은 SNARK 친화적 해시 함수를 사용할 경우 최대 수 밀리초 이내에 검증이 완료됩니다. WHIR은 두 가지 강력한 아이디어를 결합하여 이를 달성합니다. BaseFold의 sumcheck 프로토콜은 최소한의 오버헤드로 다항식 항등성을 검증하고, STIR의 재귀 폴딩은 각 라운드의 문제 크기를 압축합니다. 이 두 가지를 결합하여 전역 근접성 검증을 검증하기 쉬운 일련의 작은 검증으로 변환합니다.
증명 크기 감소. WHIR은 특히 다중선형 환경에서 증명 크기를 크게 줄입니다. 트레이스의 각 열을 별도의 단변량 다항식으로 처리하는 대신, WHIR은 전체 위트니스를 단일 다중선형 다항식 \hat{f} ^ f 로 표현할 수 있습니다. 하나의 커밋만 필요하며, 재귀적 폴딩은 라운드별 도메인 크기를 줄입니다. 이로 인해 커밋 횟수, 쿼리 횟수, 인코딩 오버헤드가 줄어들어 대규모 계산에서도 증명 크기가 크게 줄어듭니다.
유연한 인코딩. WHIR은 단변량 및 다중선형 인코딩을 모두 지원합니다. 따라서 PLONK 또는 FRI 기반 시스템과 같은 기존의 단변량 인코딩을 사용하든 다중선형 방식을 사용하든 다양한 SNARK 구성과 호환됩니다.
이더리움 기반 애플리케이션
WHIR은 간결한 증명과 마이크로초 수준의 검증 덕분에 특히 Ethereum 애플리케이션에 적합합니다.
- 롤업. 롤업의 상태 전이는 다중선형 다항식으로 인코딩될 수 있습니다. WHIR은 이러한 전이를 간결하게 증명하는 데 도움이 되며, 이더리움 L1 검증기를 위한 매우 빠른 검증을 제공합니다.
- 서명 집계: 향후 BLS 서명을 양자 이후 방식으로 대체해야 할 필요성이 커짐에 따라, 수천 개의 해시 기반 서명을 효율적으로 검증하는 것이 매우 중요합니다. WHIR은 이러한 대규모 서명을 최소한의 온체인 검증 공간으로 단일의 고정 크기 증명으로 압축하는 암호화 엔진을 제공합니다.
- 저가스 SNARK 검증: 온체인 가스 비용은 데이터 저장 및 연산에 의해 결정됩니다. WHIR은 쿼리 복잡성을 최소화(머클 경로 데이터 감소)하고 검증자의 연산 작업을 줄이는 것을 목표로 합니다. 일부 양자 이전 SNARK는 고도로 최적화된 상태를 유지하고 있지만, WHIR의 성능은 온체인 효율성이 타협 불가능한 포스트 양자 시스템의 선두 주자로 자리매김했습니다. 이는 본 연구 게시물 에서 살펴보았습니다.
간단히 말해, WHIR은 최신 SNARK 스택에 자연스럽게 통합되는 빠르고 재귀적이며 유연한 근접성 프로토콜입니다. 이더리움의 경우, WHIR은 더 작고, 더 저렴하고, 더 빠른 증명을 위한 경로를 제공합니다. 특히 다중 선형 인코딩의 이점을 이미 누리고 있는 시스템에서 더욱 그렇습니다.
WHIR 대 FRI: 근접 테스트의 세대적 도약
FRI는 현대 증명 시스템, 특히 STARK의 초석이 되어 왔습니다. FRI는 재귀적 폴딩을 사용하여 커밋된 함수가 저차 다항식에 가까운지 효율적으로 검증합니다. 고전적인 STARK 파이프라인에서는 먼저 모든 대수적 제약 조건을 하나의 고차 "합성 다항식"으로 결합한 다음, 여기에 FRI를 실행하여 실제로 예상되는 저차 다항식임을 증명합니다. 이 접근법은 강력하며, 다대수 검증기를 사용한 양자 이후 증명의 타당성을 확립했습니다.
하지만 SNARK 설계 환경은 변화하고 있습니다. Jolt, Binius, SP1 Hypercube와 같은 최신 시스템은 이러한 두 단계의 "결합 후 검증" 모델에서 벗어나 더욱 통합된 다중선형 접근 방식으로 전환하고 있습니다. 이 새로운 패러다임에서 증명은 다중선형 다항식에 대한 주장을 검증하는 도구인 sumcheck 프로토콜을 기반으로 구축됩니다. 바로 이 부분에서 WHIR이 근본적인 발전을 보여줍니다.
WHIR은 현대의 sumcheck 네이티브 환경에서 근접성 테스트를 재고합니다. 제약 조건을 처리한 후 실행하는 일반적인 저차수 테스트 대신, WHIR은 제약 조건 검증을 재귀 프로세스에 직접 통합합니다. FRI 라운드는 대략 도메인을 폴딩하고 임의의 지점에 대해 일관성 검사를 수행하는 것으로 구성됩니다. 반면 WHIR 라운드는 이러한 폴딩과 경량 sumcheck를 결합하는데, 이는 폴딩이 올바른지 확인할 뿐만 아니라 계산의 대수적 제약 조건을 다음, 더 작은 인스턴스로 전달합니다.
이러한 구조적 차이로 인해 중요한 성능상의 이점이 발생합니다.
점근적으로 쿼리 수가 줄어듭니다. 이것이 WHIR의 가장 큰 장점입니다. 2^ m²m 개의 요소를 가진 계산의 경우, FRI의 쿼리 복잡도는 mm 에 따라 선형적으로 증가하는 반면, WHIR의 쿼리 복잡도는 mm 에 따라 대수적으로 증가합니다. 대규모 계산의 경우 이는 극적인 개선입니다. 실제로 이는 증명 크기와 온체인 검증 가스 비용의 주요 원인인 머클 경로 열림(Merkle path opening)이 훨씬 줄어든다는 것을 의미합니다.
기본 다중선형 및 제약 조건 지원. WHIR은 제약 조건이 있는 리드-솔로몬 코드 에 대한 근접성 IOP입니다. 현대 증명 시스템을 정의하는 다중선형 다항식과 합계 검사 기반 관계를 처리하도록 설계되었습니다. FRI는 이러한 설정에 맞게 조정할 수 있지만, WHIR은 이를 일급 객체로 취급하여 더욱 깔끔하고 효율적인 설계를 제공합니다.
매우 빠른 검증. 적은 쿼리 수와 가벼운 SumCheck 기반 검증 로직의 결합으로 WHIR은 수백 마이크로초 단위의 검증 시간을 달성할 수 있습니다. 따라서 검증 작업의 마이크로초 단위가 사용자 비용과 네트워크 처리량으로 직접 변환되는 온체인 애플리케이션에 이상적입니다.
서명 집계: WHIR의 구체적인 사용 사례
이더리움의 미래 합의 계층이 직면한 핵심 과제 중 하나는 BLS 서명을 대체할 포스트 퀀텀(post-quantum) 방식을 찾는 것입니다. 격자 기반 방식 과 축적 기반 프로토콜을 포함한 여러 제안이 검토되었지만, 그중 다수는 확장성, 효율성, 그리고 포스트 퀀텀 보안의 균형을 맞추는 데 어려움을 겪고 있습니다.
특히 유망한 방향은 해시 기반이며 양자 안전 설계를 갖춘 XMSS 서명을 사용하는 것입니다. 그러나 XMSS 서명은 크기가 크고 개별적으로 검증하기에는 비용이 많이 들기 때문에 통합이 필수적입니다. 이 아이디어는 해시 기반 SNARK를 사용하여 수천 개의 개별 서명을 하나의 간결한 증명으로 압축한 후 체인에 게시하는 것입니다. 이더리움 리서치 게시물 에서 설명한 바와 같이, 이러한 프로토콜은 두 가지 작업을 지원해야 합니다.
- 집계: 대량의 원시 서명을 하나의 SNARK 증명으로 압축합니다.
- 병합: 두 개의 기존 집계 증명을 재귀적으로 결합하여 하나의 증명으로 만듭니다.
병합 연산은 재귀적 증명 요건을 도입하는데, 바로 이 부분에서 WHIR이 빛을 발합니다. WHIR은 폴딩 메커니즘과 최소한의 쿼리 복잡도 덕분에 작고 검증하기 쉬운 SNARK를 훨씬 쉽게 구축할 수 있도록 합니다. 쿼리 수가 적을수록 해시 계산 횟수도 줄어들어 각 재귀 계층의 검증 비용이 직접적으로 감소합니다. FRI와 같은 기존 PCS 구조와 비교할 때, WHIR은 훨씬 빠른 재귀적 증명을 제공하며, 이는 실시간 서명 집계에 중요한 요소입니다.
오늘의 성과와 앞으로의 성과
이러한 맥락에서 성능을 측정하는 자연스러운 방법은 초당 증명 가능한 해시 수(예: Poseidon2)를 측정하는 것입니다. 현재 WHIR 구현은 다음과 같은 성과를 달성합니다.
- 하이엔드 GPU(RTX 4090)에서 초당 100만 개의 Poseidon2 해시
- 소비자용 CPU에서 초당 100,000개의 Poseidon2 해시 .
PCS 로직( WHIR-P3 )과 PIOP 계층( Whirlaway )은 모두 공개되어 있으며 적극적으로 최적화되어 있습니다. 현재 병목 현상은 CPU 성능이지만, 지속적인 노력은 GPU 속도와 동등한 수준에 도달하는 것을 목표로 합니다. CPU에서 초당 100만 해시를 달성하는 것을 목표로 하고 있으며, 이는 Plonky3 와 같은 시스템이 이미 보여준 것과 유사합니다.
요약 및 다음 단계
WHIR은 근접성 테스트에 대한 매력적인 새로운 접근 방식을 제공하며, 특히 이더리움의 요구 사항에 매우 적합합니다. 작은 증명 크기, 빠른 검증, 그리고 단변량 및 다중선형 증명 시스템과의 완벽한 통합이 특징입니다. 재귀적 폴딩 전략과 sumcheck를 통한 제약 조건 확인 메커니즘은 최신 SNARK 스택에 이상적이며, 특히 롤업, zkVM, 린 체인을 위한 서명 집계와 같이 효율성과 단순성이 매우 중요한 애플리케이션에 적합합니다.
이 글에서는 WHIR 프로토콜 자체와 그 장점에 초점을 맞추었습니다. 하지만 WHIR은 완전한 SNARK의 한 구성 요소일 뿐입니다. 향후 글에서는 WHIR을 기반으로 완전한 증명 시스템을 구축하는 방법을 설명하고, 해시 기반 암호화를 사용하는 서명 집계를 위한 완전한 파이프라인에 WHIR이 어떻게 통합되는지 보여드리겠습니다.
현재 저희는 구현을 적극적으로 최적화하고 있습니다. GPU와 CPU 속도가 오늘날 최고 시스템과 동등하거나 그 이상을 달성하는 동시에 프로토콜을 모듈화하고 도입하기 쉽게 유지하는 것을 목표로 합니다. 현재 Plonky3 기반 오픈소스 WHIR 구현체( WHIR-P3 )를 유지하고 있으며, 커뮤니티 주도의 노력으로 이를 Plonky3 에 직접 업스트림할 계획입니다. 이는 WHIR을 개방적이고, 공동으로 관리되며, 다른 프로젝트에 쉽게 통합되는 공익재로 만들겠다는 저희의 비전과 일맥상통합니다.
이미 zkVM을 개발하는 여러 팀이 WHIR 도입에 관심을 표명했으며, 이더리움 생태계가 발전함에 따라 더 많은 사용 사례가 나타날 것으로 예상합니다.
우리의 목표는 WHIR을 단순히 빠르고 우아한 아이디어가 아닌, 차세대 온체인 증명을 위한 실용적인 구성 요소로 만드는 것입니다.