Gnark v0.13.0 版本发布:零知识证明框架的重大升级
Gnark 是一个用 Go 语言编写的高性能零知识证明(ZKP)框架,由 ConsenSys 团队开发。它允许开发者构建和验证零知识证明系统,特别适用于区块链和隐私保护应用场景。本次发布的 v0.13.0 版本带来了多项重要改进和新功能,包括性能优化、新算法支持以及多项功能增强。
核心功能增强
1. 哈希函数支持扩展
新版本增加了对 Merkle-Damgård 和 Poseidon2 哈希函数的支持。Merkle-Damgård 结构是许多经典哈希函数(如 SHA 系列)的基础结构,而 Poseidon2 则是一种专为零知识证明优化的哈希算法,具有证明友好的特性。
特别值得注意的是,团队对 Poseidon2 的实现进行了 GKR(Goldwasser-Kalai-Rothblum)电路优化,这是一种交互式证明系统,可以显著提高证明效率。同时,SHA3 哈希函数现在支持 FixedLengthSum 功能,允许对固定长度的输入进行更高效的哈希计算。
2. 多精度计算优化
在零知识证明系统中,处理大数运算是一个常见需求。v0.13.0 对多精度计算进行了多项优化:
- 改进了非本地零值的 IsZero 边缘情况处理
- 实现了更高效的 selector.Mux 递归 BinaryMux 实现,优化了各种大小的选择器性能
- 增加了对哈希函数的 FixedLengthSum 优化,通过最小长度参数提高了计算效率
3. Groth16 证明系统改进
Groth16 是目前最广泛使用的 zk-SNARK 证明系统之一。新版本中:
- 重构了 Groth16 的多方计算(MPC)实现
- 修复了 Groth16 MPC 第一阶段的比例验证问题
- 增加了密钥切换功能,提高了系统的灵活性
性能提升
1. GPU 加速支持
v0.13.0 集成了 OSS ICICLE(版本 v3.2.2)用于 GPU 加速。ICICLE 是一个开源库,专门为密码学计算提供 GPU 加速支持,这将显著提高证明生成和验证的速度,特别是对于大规模计算场景。
2. 电路优化
- 实现了更高效的约束系统布线管理,新增了 GetWiresConstraintExact 方法
- 优化了约束元素的通用接口设计,提高了代码的复用性和可维护性
- 改进了查找表(lookup table)的实现,确保在所有 limbs(大数的分段表示)上进行规范化形式的范围检查
新算法与数学工具
1. 椭圆曲线支持
- 增加了 Pectra BLS12-381 椭圆曲线的预编译支持
- 实现了 BLS12-381 曲线上的映射到 G2 群功能
- 修复了 GLV(Gallant-Lambert-Vanstone)方法中负标量的处理问题
2. 场运算扩展
- 实现了对小域的场仿真支持
- 增加了场扩展支持,允许在本地场上构建扩展场运算
- 引入了 WideCommitter,用于获取场扩展中的承诺
3. GKR 系统迁移与优化
将 GKR 系统从 gnark-crypto 迁移到 gnark 主库,并进行了多项优化:
- 实现了门注册表(Gate Registry)机制
- 重构了单门(unigate)实现
- 提供了详细的 GKR 示例文档
开发者体验改进
1. 断言功能增强
- 增加了 emulated.AssertIsDifferent 方法,用于仿真环境中的不等断言
- 改进了自动元素初始化,使其能够感知当前场特性
2. 常量处理
实现了常量值的二进制分解功能,这在零知识证明系统中特别有用,因为许多密码学操作(如标量乘法)可以通过预计算和查找表来优化。
3. 代码质量与文档
- 统一了代码风格,使用 goimports 工具进行格式化
- 增加了多项文档说明,特别是关于未定义结果的通知
- 修复了 MiMC 哈希函数的注册问题
总结
Gnark v0.13.0 是一个功能丰富且注重性能的版本,它为开发者提供了更多构建高效零知识证明系统的工具和选项。从基础数学运算到高级证明系统,从 CPU 到 GPU 加速,这个版本在多方面都有显著提升。特别是对 GKR 系统的支持和优化,为需要高效交互式证明的应用场景打开了新的可能性。
对于正在使用或考虑使用零知识证明技术的开发者来说,升级到 v0.13.0 将能够利用这些新功能和改进,构建更高效、更灵活的隐私保护解决方案。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C038
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C00
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0118
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00