1. 引言
a16z crypto团队2024年7月更新了其Jolt路线图:
主要分为3大维度:
- 1)链上验证维度:
- 1.1)Zeromorph:见Aztec Labs团队2023年论文 Zeromorph: Zero-Knowledge Multilinear-Evaluation Proofs from Homomorphic Univariate Commitments 中所提出的多项式承诺方案,对Verifier开销具有asymptotic(渐近)属性。
开源代码实现见:- https://github.com/gy001/hypercube/blob/main/univarization/src/zeromorph.rs,
- https://github.com/lurk-lab/solidity-verifier/blob/main/src/blocks/ZeromorphEngine.sol,
- https://github.com/lurk-lab/arecibo/blob/dev/src/provider/non_hiding_zeromorph.rs
- 1.2)HyperKZG:为Srinath Setty基于Gemini改进的多项式承诺方案,可将KZG多项式承诺方案,转换为支持multilinear多项式。
开源代码见:- https://github.com/microsoft/Nova/blob/main/src/provider/hyperkzg.rs
- https://github.com/lurk-lab/arecibo/blob/dev/src/provider/hyperkzg.rs
- 1.3)EVM Verifier:直接面向Jolt proof的EVM验证。
- 1.1)Zeromorph:见Aztec Labs团队2023年论文 Zeromorph: Zero-Knowledge Multilinear-Evaluation Proofs from Homomorphic Univariate Commitments 中所提出的多项式承诺方案,对Verifier开销具有asymptotic(渐近)属性。
- 2)优化:
- 2.1)Quarks:Srinath Setty和Jonathon Lee对GKR协议的改进,可调整参数,在prover speed 和 proof size/verifier cost 之间权衡。
- 2.2)让Sumcheck稀疏化:降低具有高密度0和1的Sumcheck实例的memory footprint。
- 3)开发者体验:
- 3.1)支持标准库、allocator、WASM
- 3.2)M-Extension:RV32I-M extension支持基础的乘法和除法操作码,可降低表示程序所需的RISC-V cycles,从而降低prover time。
- 3.3)RICS重构:对R1CS完全重构,来实现一种简单易读的DSL。
附录 A 补充信息
下图摘自https://github.com/gy001/hypercube(Rust):
其中:
- LogUp+: reduction of multivariate polynomial in evaluation form to univariate in evaluation form
- Gemini: reduction of multivariate polynomial in coefficient form to univariate in coefficient form
- ZeroMorph: reduction of multivariate polynomial in evaluation form to univariate in coefficient form
而在https://github.com/lurk-lab/arecibo(Rust,定位为:An advanced fork of Nova)中,实现了3种多项式承诺方案和3种evaluation argument:
- 1)Pedersen commitments with IPA-based evaluation argument (supported on all three curve cycles), and
- 2)HyperKZG commitments and evaluation argument (supported on curves with pairings e.g., BN254).
- 3)KZG commitments with a Zeromorph evaluation argument (supported on curves equipped with a pairing).
其中所支持的3个curve cycles为:
- 1)Pallas/Vesta
- 2)BN254/Grumpkin
- 3)secp/secq
Jolt/Lasso 系列博客
- sum-check protocol in zkproof
- sum-check protocol深入研究
- Lasso、Jolt 以及 Lookup Singularity——Part 1
- Lasso、Jolt 以及 Lookup Singularity——Part 2
- 深入了解Lasso+Jolt
- 关于Lasso、Jolt和SNARK设计最新进展的技术常见问题解答
- GKR协议小记
- 以更快的承诺方案助力Lasso/Jolt