1. 소개
서문 블로그는 다음과 같습니다.
관련 논문은 다음을 참조하세요.
- Srinath Setty(Microsoft 연구 센터), Justin Thaler(a16z 암호화 연구 센터 및 조지타운 대학), Riad Wahby(카네기 멜론 대학) 2023년 논문 " Unlocking the lookup singularity with Lasso "
- Arasu Arun(뉴욕 대학), Srinath Setty(Microsoft 연구 센터), Justin Thaler(a16z 암호화 연구 센터 및 조지타운 대학) 2023년 논문 "Jolt: SNARKs for Virtual Machines via Lookups "
해당 오픈 소스 코드 구현에 대해서는 다음을 참조하세요.
이 글의 전체적인 구조는 다음과 같습니다.
- 조회 인수란 무엇입니까?
- 올가미/졸트란 무엇인가요?
- 올가미 세부정보
- 충격 세부 사항
- 올가미를 도구로 생각하는 방법은 무엇입니까?
- 그리고 zkVM 외부에서 조회 인수의 적용 시나리오는 무엇입니까?
2. 조회 인수란 무엇입니까?
조회 인수는 다음과 같이 나눌 수 있습니다.
- 1) 색인화되지 않은 조회 인수:
- 为부분 집합 관계 증명,即,배치 집합-멤버십 증명—— aa테이블 tt_t 의 특정 하위 집합 .
- 2) 색인 조회 인수: [Lasso 및 Jolt는 색인 조회 인수를 사용합니다.]
- 읽기 전용 메모리에서 읽는 경우. 그럴 수도 있지t 는 메모리로 간주됩니다.ai = t [ bi ] a_i=t[b_i]ㅏ나=t [ 비나]는 bi b_i를읽는다는 뜻입니다.비나메모리 셀의 값입니다.
범위 확인을 예로 들면 조회 인수는 다음을 참조합니다.
- 1) 令t = ( 0 , 1 , 2 , 3 , ⋯ , 2 128 − 1 ) t=(0,1,2,3,\cdots,2^{128}-1)티=( 0 ,1 ,2 ,3 ,⋯,2128-1 ) NN을갖고 있기 때문에N개의 테이블 요소로 구성된 벡터(예:ttt为미리 결정된 테이블).
- 2)令a ∈ F ma\in\mathbf{F}^mㅏ∈에프m은 위 표에 포함되어야 하는 값들의 목록이다.
- 3) 검증인 VV알려진 V : aacma cm_a의 약정 값cm _에이。
- 4) 증명자 PPP 주장:aaa 의 모든 요소는tt에 .
증명자PPP는 cma cm_a를알고 있다고 주장합니다.cm _에이오프닝 aaa , 이는 다음과 같습니다:- 각각의 i = 0 , ⋯ , m − 1 i=0,\cdots, m-1나=0 ,⋯,중-1 에는 인덱스bi ∈ { 0 , 1 , ⋯ , N − 1 } b_i\in\{0,1,\cdots, N-1\} 이비나∈{ 0 ,1 ,⋯,N-1 } , 사용ai = t [bi] a_i = t [b_i]ㅏ나=t [ 비나]。
- 5) 이 조회 인수는 일반적으로 색인화되지 않은 조회 인수라고 합니다.
indexed 조회 인수는 검증할 요소에 인덱스 값이 추가됨을 의미하며, indexed 조회 인수는 다음과 같이 정의됩니다. [검증자는 테이블 tt 를 알고 있습니다.t 에 대한 간결한 설명입니다]
- 1) 令t ∈ F nt\in\mathbf{F}^n티∈에프n 은 NN과 함께N개의 테이블 요소로 구성된 벡터(예:ttt为미리 결정된 테이블).
- 2) 증명자 PPP 쌍 벡터( ( a 1 , b 1 ) , ⋯ , ( am , bm ) ) ((a_1,b_1),\cdots,(a_m,b_m))( (1,비1) ,⋯,( _남,비남)) 커밋합니다.
- 3) 증명자 PPP는 i = 1 , ⋯ , mi=1,\cdots,m에 대해 주장합니다.나=1 ,⋯,m,유ai = t [ bi ] a_i=t[b_i]ㅏ나=t [ 비나] . 【즉ai a_iㅏ나为값,bi b_i비나테이블 tt 에 해당t 의 인덱스 번호PPP는 aa를주장합니다.a 의 모든 요소는ttt 의 해당 인덱스입니다]
3. 올가미/졸트란 무엇인가요?
올가미: (인덱싱된) 조회 인수 집합의 경우:
- 올가미 증명자 PPP 는 이전 방식보다 훨씬 빠릅니다.
- 증명자 PPP 의 주요 병목 현상은 커밋 오버헤드입니다.
- 올가미 증명자 PPP는 더 적은 수의 필드 요소를 커밋하며 커밋할 모든 필드 요소는 작습니다.
- tt 에 대한 약속 없음많은 테이블에는 필요 하지 않습니다 . [많은 수의 조회 테이블(Jolt에 필요)의 경우 정직한 당사자가 테이블을 커밋하고 전처리할 필요가 없습니다. Lasso 기반 Verifier는 테이블의 약속된 값을 받는 대신 자체적으로 거대한 테이블(50/100/200 정도의 필드 작업만 필요)을 처리할 수 있습니다. ]
- 대규모 테이블(분해 가능 또는 LDE 구조) 지원:
- 증명자 PPP 에 대한 커밋 오버헤드는다음과 같습니다. O ( c ( m + N 1 / c ) ) O(c(m+N^{1/c}))O ( 씨 ( 엠+N1/ c ))필드 요소.
- 테이블 분해에는 주로 Prover 오버헤드의 두 가지 측면이 있습니다. 일반적으로 c = 6 c = 6씨=6 오버헤드의 두 가지 측면의 균형을 맞추려면 다음을 수행합니다.
- 테이블 크기의 오버헤드에만 의존함
- 조회 시간의 오버헤드에만 의존함
Jolt: 새로운 zkVM 기술의 경우:
- 졸트 프루버 PPP 의 커밋 오버헤드 는 이전 방식보다 훨씬 낮습니다.
- 원시 명령어는 단일 명령어의 전체 평가 테이블을 조회하여 구현됩니다.
4. 올가미 세부정보
4.1 올가미 오버헤드 세부사항
NN 사이즈의 경우N , 매개변수ccc 테이블 , dommm 차 indexed lookup:
- 올가미 증명자 PPP 오버헤드는 다음과 같습니다:3 cm + c N 1 / c 3cm+cN^{1/c}3cm _ _+ㄷ N1/ 커밋을 위한 c 필드 요소입니다.
- 모든 필드 요소는 작습니다. 즉, 집합 { 0 , 1 , ⋯ , m } \{0,1,\cdots,m\} 에 있습니다.{
0 ,1 ,⋯,m } in:
- MSM 기반 다항식 커밋 방식, Lasso Prover PP각 (작은) 커밋된 필드 요소에 대해 P는 약 1개의 그룹 작업만 수행하면 됩니다.
현재 MSM 기반 다항식 확약 방식은 다음과 같습니다.- KZG 기반 다항식 확약 방식
- IPA/Bulletproofs 다항식 약속 체계
- Hyrax 다항식 약속 체계
- Dory 다항식 약속 체계
- MSM 기반 다항식 커밋 방식, Lasso Prover PP각 (작은) 커밋된 필드 요소에 대해 P는 약 1개의 그룹 작업만 수행하면 됩니다.
- 모든 필드 요소는 작습니다. 즉, 집합 { 0 , 1 , ⋯ , m } \{0,1,\cdots,m\} 에 있습니다.{
0 ,1 ,⋯,m } in:
- 올가미 검증기 VVV 비용은 다음과 같습니다.
- O ( log m ) O(\log m)오 ( 로그 _m ) 현장 작업 및 해시 평가(Fiat-Shamir에서).
- + 1个크기 N 1 / c N^{1/c} 의 커미트 다항식에 대한 평가 증명N1/ c。
- 합성/재귀를 통해 위의 충분히 낮은 Lasso Verifier VV를 사용할 수 있습니다.V 오버헤드가 더욱 감소됩니다.
c=1 일 때 c=1씨=1 , Lasso - Basic-Lasso의 특별한 경우에 해당:
- 기본-올가미 증명자 PPP 에서m + N m + N중+N개의 필드 요소가 커밋됩니다.
- 이 m + N m+N중+N개의 필드 요소 중 다수는 0입니다. MSM 기반 다항식 커밋 방식에서는 0이라는 값을 커밋하는 비용도 0, 즉 '무료'이다.
- 이 m + N m+N중+N개의 필드 요소 중 최대2m 2m가2m 는 0이 아닌 값입니다.
- 매번 다른 테이블 셀을 읽으면 mm가 됩니다.m 필드 요소는 1이고 나머지 요소는 0입니다.
4.2 거대한 테이블에 올가미 사용하기: c > 1 c>1씨>1
실제로 대부분의 대규모 조회 테이블은 분해 가능합니다 .
- 큰 사이즈는 NN 으로 설정 가능크기에 따라 N 1 / c N^{1/c} 로 분해된 N 테이블N1/ c 의 테이블은 약ccc 번 조회한 다음cc를c 조회 결과:
- Lasso는 합계 확인 프로토콜을 사용하여 cc를 "정렬"합니다.c 조회 결과. 그럼 Lasso ProverPPP , 추가 약정 오버헤드가 없습니다.
올가미는 c > 1 c>1 로 간주될 수 있습니다.씨>1. 하나의 크고 분해 가능한 테이블을 조회하는 경우 여러 개의 작은 테이블에 대한 축소는ccc 조회:
- 작은 테이블의 경우 모든 조회 인수를 사용할 수 있습니다.
- 작은 테이블의 경우 Lasso에서는 Basic-Lasso 조회 인수 체계가 사용됩니다.
- 추가 참고 사항: 작은 테이블 조회 인수는 인덱싱되어야 합니다.
- 인덱싱되지 않은 조회 인수를 인덱싱된 조회 인수로 변환하는 현재 알려진 솔루션입니다.
- 그러나 이러한 알려진 체계는 테이블 항목의 "작음"을 유지하지 못하거나 큰 테이블의 분해 가능성을 유지하지 못합니다. 그 이유는 이러한 체계가 인덱스와 값을 단일 필드 요소로 "포장"하기 때문입니다.
[교정 크기는 테이블 수나 작은 테이블의 크기에 따라 달라지지 않습니다. 검증자는 임의의 지점에서 각 작은 테이블의 다중 선형 확장 다항식을 평가해야 합니다. 작은 테이블 수의 증가로 인해 검증자 시간이 늘어나게 되지만 이는 현장 작업이므로 다른 암호화 작업과 비교하면 그렇지 않습니다. Verifier의 병목 현상이 됩니다.
Jolt에는 약 45개의 서로 다른 하위 테이블이 있습니다.
]
4.3 배경: 총생산 논증
알려진 모든 조회 인수는 총곱 인수를 취합니다 .
- 총곱 논증은 nn을 증명하기 위한 SNARK 계획입니다.n 커밋된 값의 곱입니다.
- 요즘 인기 있는 대상품 논증, Prover PPP에는 추가 nn쌍이 필요합니다.N 값(부분 제품)이 커밋됩니다.
- 이것은 불필요합니다.
- T13 논문에서: GKR 프로토콜의 최적화된 버전이 제공됩니다(소위 GKR 프로토콜은 회로 평가를 위한 합계 검사 기반 대화형 증명입니다). [곱셈 게이트의 이진 트리와 유사한 회로가 최적화되었습니다. ]
- 증명자 PPP 약정 오버헤드가 없습니다.
- 증명자 PPP는 선형 순서의 현장 작업을 수행합니다.
- 증명 크기/검증기 VVV 시간为O ( log (n ) 2 ) O(\log(n)^2)O ( logg ( n ) _2 )현장 작업(및 Fiat-Shamir의 해시 평가):
- FRI의 증명 크기/검증기 VV 보다 훨씬 작습니다.브이 타임。
- [이세티 2019]中将Verifier VVV 오버헤드는 약O ( log (n ) ) O(\log(n))O ( log ( n )) , Prover PP를늘리면 됩니다.P 에 대한 약간의 커밋 오버헤드
4.4 기본-올가미 핵심 포인트
- 기존의 많은 조회 인수에 대해 T13에 대해 호출된 총곱 인수를 교체하면 Prover PPP는 작은 필드 요소만 커밋하면 됩니다.
- 자세한 내용은 로그 도함수를 기반으로 한 Ulrich Hab¨ock의 logUp-Multivariate 조회를 참조하세요 . 로그 도함수를 사용하면 총곱 인수가 총합 인수로 변환됩니다.
- 단순히 거대한 제품 논쟁을 바꾸는 것보다 더 많은 것이 관련되어 있습니다.
- Lasso/Jolt는 작은 테이블 조회 결과를 큰 테이블 결과로 "조합"하기 위해 인덱스된 조회 인수를 사용해야 합니다.
- 기술적인 판매 포인트: 현재 커뮤니티는 Prover PP를 피하기 위해 합계 확인의 잠재력을 아직 완전히 활용하지 못하고 있습니다.P 오버헤드.
- Basic-Lasso의 작동 원리는 다음을 참조하세요.
5. 충격 세부 사항
현재 VM 실행의 프런트엔드:
- 증명자 PPP는 mm단위로 컴퓨터 프로그램을 실행한다고 주장합니다.m 걸음:
- 프로그램은 VM의 어셈블리 언어로 작성됩니다.
- 널리 사용되는 대상 지향 VM은 RISC-V, EVM(Ethereum Virtual Machine)입니다.
- 현재 프런트 엔드는 각 계산 단계에 대한 회로를 생성합니다.
- 1단계: 이 단계에서 어떤 명령을 실행해야 하는지 지적합니다.
- 2단계: 명령을 실행합니다.
- 그리고 Lasso는 위의 2단계를 단일 조회로 대체합니다.
- 각 명령어에 대해 해당 명령어에 대한 전체 평가 테이블이 이 테이블에 저장됩니다 .
- 명령이 ff 인 경우f 에는 2개의 64비트 입력이 있고 각 64비트 입력 쌍( x , y ) (x,y)( 엑스 ,y ) , 조회 테이블은 모든f ( x , y ) f(x,y) 를에프 ( 엑스 ,y ):
- 조회 테이블 크기는 2 128 2^{128}2128。
- Jolt에 표시된 것처럼 모든 RISC-V 명령어는 분해 가능합니다.
Jolt 개요 그림은 다음과 같습니다. Jolt는 Barry Whitehat의 Lookup Singularity 비전을
실현할 것으로 예상됩니다 .
- 감사가 용이하고 단순화되며 확장성이 있다는 장점이 있습니다.
- 성능상의 이점
- zkVM을 구축하는 본질적으로 다른 방법:
- 지금 사람들이 하는 일과 비슷한 점이 많습니다.
- 사람들의 비전은 비트 AND와 같은 계산 기능을 작은 테이블의 다중 조회로 변환하고 결과를 결합하는 것입니다.
- Jolt의 주요 차이점은 다음과 같습니다.
- a) 새로운 작은 테이블 조회 인수는 훨씬 더 빠른 Jolt Prover PP를 갖습니다.피。
- b) 새로운 작은 테이블 조회 인수는 자연스럽게 인덱싱됩니다.
- c) 졸트 프루버 PPP는 훨씬 빠른 대조 기술을 가지고 있습니다.
- 작은 테이블 조회 결과에 대해 "무료" 곱셈 및 덧셈을 수행할 수 있습니다.
- Jolt의 이러한 차이점을 통해 조회를 사용하여 VM 에뮬레이션의 거의 모든 것을 실현할 수 있습니다 .
5.1 충격 분해 예제 1 - 비트별 AND
두 개의 64비트 입력 x, yx,y 의 경우엑스 ,y 의 비트 AND 원시 산
- 将x, yx,y엑스 ,y는 c = 8 c=8로 분해됩니다.씨=8개의 청크, 각 청크는 8비트를 갖습니다.
- 각 청크의 비트 AND 계산
- 각 청크의 결과를 연결하면 출력은 다음과 같습니다.
∑ i = 1 8 8 i − 1 ⋅ bitwiseAND ( xi , yi ) \sum_{i=1}^{8}8^{i-1}\cdot \text{ 비트AND}(x_i,y_i)∑나는 = 188나는 - 1⋅비트AND ( x나,와이나)
정직한 당사자가 하위 테이블을 커밋할 필요가 없도록 하려면 다음을 수행하십시오.
- bitwiseAND ( xi , yi ) = ∑ j = 1 8 2 j − 1 ⋅ xj ⋅ yj \text{bitwiseAND}(x_i,y_i)=\sum_{j=1}^{8}2^{j-1}\ cdot x_j\cdot y_j비트AND ( x나,와이나)=∑j = 182j - 1⋅엑스j⋅와이j이는 25개 미만의 현장 연산으로 평가할 수 있는 다중선형 다항식입니다.
- 올가미 검증기 VVV는 하위 테이블을 알아야 하며 다항식의 평가만 알면 됩니다.
5.2 충격 분해 예 2 - RISC-V 추가
두 개의 64비트 숫자 x , yx,y엑스 ,y 합계에서 RISC-V는 추가가 정확하고 "오버플로 비트"를 무시한다고 규정합니다.
Jolt(보조 R1CS에 제약 조건 추가)는 유한 필드에서 z = x + yz=x+y를 계산합니다.지=엑스+y 그런 다음 조회를 사용하여 해당 오버플로 비트를 식별하고, 오버플로 비트가 있으면 그에 따라 해당 결과를 조정합니다.
- 졸트 프루버 PPP , 对 필드 요소z = x + yz=x+y지=엑스+y 의 "사지 분해"( b 1 , ⋯ , bc ) (b_1,\cdots,b_c)( 비1,⋯,비c) 커밋합니다.
- M = 2 64 /c M=2^{64/c} 라고 하자중=264/ c 는 사지당 최대값입니다.
- R1CS에 제약 조건을 추가하여 확인합니다.
- 1단계: z = ∑ j = 1 c M j − 1 ⋅ bjz=\sum_{j=1}^{c}M^{j-1}\cdot b_j지=∑j = 1c중j - 1⋅비j
- 2단계: 그리고 각 bj에 대해 b_j비j조회를 통해 { 0 , ⋯ , M − 1 } \{0,\cdots,M-1\} 을 저장합니다 .{ 0 ,⋯,중-1 } 의 하위 테이블은 범위 확인을 수행합니다.
- 위 제약 조건의 1단계와 2단계를 통해 b 1 , ⋯ , bj b_1,\cdots,b_j 가 보장될 수 있습니다.비1,⋯,비j사실 zz 한테는z 의 규정된 사지 분해
- 오버플로 비트를 식별하려면 인덱스 bc b_c 만 조회하면 됩니다.비c, ii가 있는 테이블로i 번째 항목은 ii의 관련 상위 비트를 뱉어냅니다.나는。
5.3 충격 분해 예 2 - LESS THAN UNSIGNED
2개의 64비트 입력 x, yx,y 의 경우엑스 ,y는 작업보다 적은 작업을 수행합니다.
- 将x, yx,y엑스 ,y는 c = 8 c=8로 분해됩니다.씨=8개의 청크, 각 청크는 8비트를 갖습니다.
- 각 청크의 LESS-THAN(LT) 및 EQUALITY(EQ)를 계산합니다.
- 계산: ∑ i = 1 8 2 i − 1 ⋅ LT ( xi , yi ) ∏ j = i + 1 8 EQ ( xj , yj ) \sum_{i=1}^{8}2^{i-1} \cdot \text{LT}(x_i,y_i)\prod_{j=i+1}^{8}\text{EQ}(x_j,y_j)∑나는 = 182나는 - 1⋅LT ( x나,와이나)∏j = 나 + 18EQ ( xj,와이j)
2개의 하위 테이블 커밋을 방지하려면 다음을 수행하세요.
- EQ ( xj , yj ) = ∏ k = 1 8 ( xj , kyj , k + ( 1 − xj , k ) ( 1 − yj , k ) ) \text{EQ}(x_j,y_j)=\prod_{k= 1}^{8}(x_{j,k}y_{j,k}+(1-x_{j,k})(1-y_{j,k}))EQ ( xj,와이j)=∏k = 18( xj , k와이j , k+( 1-엑스j , k) ( 1-와이j , k))
- LT ( xi , yi ) = ∑ k = 1 8 ( 1 − xi ) yi ∏ z = k 8 ( xi , kyi , k + ( 1 − xi , k ) ( 1 − yi , k ) ) \text{LT} (x_i,y_i)=\sum_{k=1}^{8}(1-x_i)y_i\prod_{z=k}^{8}(x_{i,k}y_{i,k}+(1 -x_{i,k})(1-y_{i,k}))LT ( x나,와이나)=∑k = 18( 1-엑스나) 예나∏z = 케이8( x나 , 케이와이나 , 케이+( 1-엑스나 , 케이) ( 1-와이나 , 케이))
- 이는 50개 미만의 필드 연산으로 평가할 수 있는 다중선형 다항식입니다.
6. 올가미를 도구로 생각하는 방법은 무엇입니까? 그리고 zkVM 외부에서 조회 인수의 적용 시나리오는 무엇입니까?
6.1 도구로서의 올가미의 직관
- Lasso는 Lasso Prover PP 없이 필드 요소의 비트 분해에 대한 간단한 작업을 지원합니다.P는 각 비트를 커밋합니다.
- 각 하위 테이블이 테이블 인덱스(의 비트)에 대한 간단한 함수에 해당하는 경우 하위 테이블에는 빠르게 평가 가능한 다중 선형 확장이 있습니다.
- 이렇게 하면 정직한 당사자가 전처리 중에 이러한 하위 테이블을 커밋할 필요가 없습니다.
- 2개의 필드 요소 값은 { 0 , 1 , ⋯ , 2 64 − 1 } \{0,1,\cdots,2^{64}-1\} 입니다.{ 0 ,1 ,⋯,264-1 } 의 bitwiseAND 연산은 Plonk의 각 덧셈 또는 곱셈 게이트의 오버헤드와 비교할 때 Lasso Prover의 오버헤드가 더 낮습니다.
- 참고: 조회 인수는 규모의 경제입니다. 하나의 테이블에 대해 많은 조회를 수행하는 데 적합합니다(예: 동일한 함수에 대한 여러 호출).
6.2 인덱스 조회 인수를 반복 함수 평가의 SNARKs 방식으로 처리
이전에도 "반복 기능 평가를 위한 SNARK"에 대한 많은 연구가 있었습니다.
- 다양한 입력 x 1 , ⋯ , xm x_1,\cdots,x_m 기반엑스1,⋯,엑스남, 동일한 함수 ff를 계산합니다.에프。
- 이를 "다항식" 양의 데이터 병렬 처리로 생각하십시오.
- 함수가 ff 라면f 의 입력 길이는 nn입니다.n 인 경우 서로 다른 입력값의 개수는m = poly (n ) m=\text{poly}(n)중=폴리 ( n )。
- 증명자 PP 는 여전히 필요합니다.P 평가fff 매우 구체적인 방식으로:
- ff를 계산하기 위해 특정 회로 실행에프。
조회 인수에 대한 새로운 관점:
- 조회 테이블을 함수 ff를 저장하는 것으로 생각하십시오.f 의 모든 평가
- ff 의 고도로 반복된 평가 를 위한 조회 인수 则为a SNARK에프 :
- 증명자 설명, 커밋된 벡터 ( ( a 1 , f ( a 1 ) ) , ⋯ , ( am , f ( am ) ) ) ((a_1,f(a_1)),\cdots,(a_m,f(a_m)) )( (1,에프 ( 아1)) ,⋯,( _남,에프 ( 아남))) , 다른 입력a 1 , ⋯ , am a_1,\cdots,a_mㅏ1,⋯,ㅏ남올바른 fff 평가。
- 올가미 증명자 PPP 의 오버헤드 는 O ( c ( m + N 1 / c ) ) O(c(m+N^{1/c}))입니다O ( 씨 ( 엠+N1/ c )), 조회 횟수mmm 은 테이블 크기 NN보다 크지 않습니다.N , 너무 작은 경우 Lasso ProverPPP 는 효율적입니다.
- 즉, ff를 실행f 의 차수는 ff의 입력 크기에 대해 지수적이어야 합니다.에프。
7. 요약
- Lasso는 동일한 기능이 여러 번 평가되는 시나리오에 적합합니다.
- zkVM은 Lasso의 애플리케이션 시나리오 중 하나일 뿐입니다.
- 정의에 따르면 VM 추상화는 기본 명령어의 반복 실행 계산을 나타냅니다.
- VM 추상화를 구현하면 일반적으로 상당한 성능 오버헤드가 발생합니다.
- 향후 관심 방향:
- 계산에서 반복되는 구조를 분리하는 다른 더 나은 방법
- 예시 작업은 다음과 같습니다.
- 비트 슬라이싱
- 해시 함수 또는 블록 암호(예: SHA/AES)를 평가하여 64개의 서로 다른 입력이 있는 부울 회로 CC를 구축합니다.C를 계산하려면 다음을 수행합니다.
- 각 입력의 첫 번째 비트를 단일 필드 요소로 묶고, 각 입력의 두 번째 비트를 단일 필드 요소로 묶는 식으로 진행됩니다.
- 将서킷 CCC 의 각 AND 게이트에 대해CC를C 의 모든 OR 게이트는
- 약 200C 의 각 게이트 출력은 SHA/AES의 64개 평가 중 1비트입니다.
- 对서킷 CCC 에서는 올가미를 사용합니다.
참고자료
[1] Justin Thaler는 2023년 8월 zkStudyClub 에서 zkStudyClub - Lasso/Jolt(Justin Thaler, Georgetown University/a16z)를
공유했습니다 .
저스틴 탈러 블로그 시리즈
- 스나크 디자인
- Rollup 프로젝트의 SNARK 환경
- SNARK 원칙의 예
- SNARK 성능 및 보안 - Prover
- SNARK 성능 및 보안——검증기
- zkproof의 합계 검사 프로토콜
- 합계 확인 프로토콜 심층 분석
- 올가미, 충격 및 특이점 조회 - 1부
- Lasso, Jolt 및 Lookup Singularity - 2부
조회 시리즈 블로그
- 찾아보기
- PLOOKUP 코드 분석
- 다중 점 및 다항식 연구 노트를 위한 효율적인 다항식 확약 방식
- PLONK + 찾아보기
- PlonKup: PlonK와 plookup 조정
- PLONK: 지식에 대한 에큐메니컬 비대화형 논증을 위한 라그랑주 기반 순열 연구 노트
- 플론크 코드 분석
- RapidUp: 조회 테이블을 위한 다중 도메인 순열 프로토콜 연구 노트
- 조회 인수 개요
- Halo2 연구 노트 - 설계 증명 시스템의 조회 인수(1)
- logUp-대수 파생을 기반으로 한 다변량 조회
- cq: 빠른 조회 인수
- 조회 인수 성능 최적화 - Caulk
- 2023년 ZK Hack 및 ZK Summit 하이라이트
- 2023년 연구의 날: Succinct ZKP의 최신 진행 상황
- 올가미, 충격 및 특이점 조회 - 1부
- Lasso, Jolt 및 Lookup Singularity - 2부