Valida Plus 发布(分段证明、区块证明、客户端证明)

  • 0xlita
  • 发布于 2025-07-15 20:40
  • 阅读 5

Valida 0.10.0 版本发布,带来了多个重要更新,包括支持分段证明(Continuations),可以在浏览器端生成和验证 zk 证明的 WASM API,以及编译器工具链的升级。此外,还引入了实验性的 Secp256k1 和 Memcpy 操作码,并提供了 x86 和 ARM 的 Docker 支持,Reva 项目实现了在 Valida 内部执行以太坊区块。

2025年7月14日

我们很高兴推出 Valida 0.10.0,这是我们迄今为止最重要的版本。本次更新为 Valida zkVM 堆栈带来了强大的新功能,扩展了开发者工具,提高了性能,并为 Web 应用程序实现了客户端证明生成。

亮点:

  • Valida zkVM 的 Continuations(部分执行证明)
  • 用于基于浏览器的证明的完整客户端 WASM API
  • 更新的 Rust 和 LLVM 编译器工具链
  • 扩展的标准库和浮点支持
  • 实验性的 Secp256k1 和 Memcpy 操作码
  • 对 x86 和 ARM 的 Docker 支持
  • ReVa,一个用 Rust 实现的以太坊区块证明器

Valida zkVM 的 Continuations(部分执行证明)

Valida 现在支持多段证明,使 zkVM 能够处理长时间的程序执行,并提高效率。开发者可以配置段大小,以权衡证明者性能和证明大小。这使得 Valida 对于高吞吐量应用(如区块证明或 zkML)更加灵活。

此外,此版本引入了公共追踪承诺,这是实现第三方验证公共输入和输出的基础步骤。

Valida 中 Continuation 实现的关键组件

排列追踪增强

  • 新的排列列:我们向排列参数追踪添加了一个新列,用于累积运行总和,以检查持久性(跨段)内存交互。
  • 排列约束:实施了相关的排列约束,通过检查每个段中每个芯片的证明所声明的部分运行总和值的真值,来确保内存追踪的完整性。

BasicMachine 修改

  • 段处理:执行引擎现在在达到可配置的追踪高度限制时拆分段,为每个段创建名为 SegmentMachine 的新实例。
  • 内存处理:系统处理每个段的初始和最终内存状态以及寄存器值。所有段共享一个输出带,在一个追踪中容纳总输出(最多约 128 MB)。

证明和验证段流程

  • 在证明每个段后,证明者使用初始和最终内存状态计算相似的乘积。
  • 验证者收集最终乘积以确保所有段的一致性,从而确认整个流程的完整性。
Continuations 如何实现区块证明

Continuations 允许证明更长的执行过程,而不会过多地增加证明者的 RAM 需求,从而实现区块证明。如果没有 continuations,可以证明小区块。但是,需要 continuations 才能证明具有典型以太坊区块大小和 gas 限制的区块。

基于浏览器的 zk 证明与客户端 WASM API

Valida 0.10.0 使得直接在浏览器中生成和验证 zk 证明成为可能,这要归功于我们新的客户端 WASM API。这为面向消费者的 ZK 应用(从游戏到身份)解锁了强大的用户体验模式,通过在不受信任的设备上实现实时的本地证明生成。

开发者可以将 Rust 程序编译为 Valida,然后嵌入 guest 二进制文件,并直接在客户端 JavaScript 中调用证明器。有关详细信息,请参见随附的示例项目。

Rust 和 C 编译器改进

我们已经显著升级了编译器工具链:

  • 更新到 Rust 1.86 和 LLVM 18.1.7
  • 改进了 C 和 Rust 之间的 ABI 兼容性
  • 对 libc 的部分支持(通过 LLVM libc)
  • 软件模拟的浮点支持
  • 增强了 core::random 以获得更好的随机性
  • 改进了对 Rust 单元测试的支持

使用 printf、浮点数学或加密哈希的程序现在在大多数情况下都可以直接使用。

实验性功能:Secp256k1 和 Memcpy

此版本添加了对 Secp256k1memcpy 作为 VM 操作码的实验性支持。这些当前在执行引擎中受支持,但尚未在证明器或验证器中受支持。

它们为以下方面奠定了基础:

  • 链上签名验证,适用于以太坊兼容的应用程序
  • 快速内存复制,适用于高性能程序

适用于 x86 和 ARM 的 Valida Docker

Valida 现在为 x86_64ARM64 平台提供官方 Docker 镜像,从而可以轻松地在 Intel、AMD 和 Apple Silicon 机器上入门。

只需运行:

docker pull lita-xyz/valida

我们还为 Ubuntu 24.04 和 Arch Linux 用户添加了本机 Linux 安装程序。

Reva:在 Valida 中执行以太坊区块

我们的开源项目 Reva 现在可以使用轻量级的 tiny-keccak 库在 Valida 中执行以太坊区块。这是我们完整的以太坊区块证明器的第一步,并证明了 Valida 适用于 EVM 和 DeFi 应用。

接下来是什么?

借助 Valida 0.10.0,我们正接近可用于生产的区块证明器。以下是即将推出的内容:

  • 完成证明的可靠性
  • 证明器支持 Secp256k1 和 Memcpy
  • 用于多区块证明的递归聚合
  • Rust no_std 和线程支持

我们还在加强 Valida 的加密约束,以实现完全的可靠性保证。

感谢我们的贡献者和社区帮助我们达到这一里程碑。

立即试用 Valida 0.10.0,并加入我们,共同构建高性能、可编程的零知识计算的未来。

👉 文档

👉 GitHub

  • 原文链接: lita.foundation/blog/ann...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
0xlita
0xlita
江湖只有他的大名,没有他的介绍。