Lita 发布了 Valida 零知识虚拟机和 C 编译器工具链的 alpha 版本,使开发者能够在 Valida 上编译、运行、证明和验证 C 程序。Valida 在初始基准测试中表现出前景,在证明生成速度和效率方面有了多个数量级的提高。LLVM Valida 编译器后端为所有 LLVM 兼容编程语言利用经济高效的大规模 STARK 零知识证明奠定了基础。
2024年9月4日
亮点
Lita发布了Valida零知识虚拟机和C编译器的alpha版本,使开发者能够在Valid上编译、运行、证明和验证C程序
Valida在初步基准测试中显示出前景,在证明生成速度和效率方面有多个数量级的改进
LLVM Valida编译器后端为所有LLVM兼容的编程语言利用经济高效的大规模STARK零知识证明奠定了基础
接下来:Solidity、Rust、C++ 和其他流行的编程语言
从第一天起,Lita就致力于推动零知识证明的性能和可用性。我们在这里使ZK真正普及。这在我们如何设计 Valida- 我们的零知识虚拟机中可见。
我们选择从头开始构建Valida,采用针对高效零知识证明进行了优化的zk-optimized ISA,以及一个编译器工具链,使任何开发者都能够利用熟悉的工具和语言将其应用程序与Valida集成。我们认为,这是创建快速、高性能且真正可访问的zkVM的卓越方法。
今天,我们很自豪地宣布 Valida C 编译器工具链的alpha版本。与Valida zkVM结合使用,开发者现在可以在Valida 中执行和验证程序。 此版本不仅仅代表一个技术里程碑。这是在实现zkSTARK的经济高效、大规模应用和扩展可行用例范围方面的一个战略进展。
Lita的编译器利用强大的LLVM基础设施,能够为Valida zkVM编译主流编程语言。通过采用通用的中间表示,我们只需为Valida提供一个后端即可支持多种前端语言,从而显著简化了开发。这种方法在多功能性和编码效率方面提供了明显的优势。
C 编译器工具链和Valida zkVM将允许开发者在我们的VM上运行和测试程序。为了展示Valida的功能,我们针对RISC Zero、SP1和Jolt对其进行了基准测试。
我们的性能比较侧重于两个关键指标:用户时间(CPU效率)和实际运行时间,针对执行SHA-256和斐波那契数列计算的程序进行了测试。
我们很高兴地展示证据,表明与上述VM相比,Valida在两个指标上都具有显著优势。这种卓越的性能突显了Lita在提供行业领先的效率和速度方面的承诺。
上图:在速度方面,Valida的性能明显优于其他证明系统
上图:Valida zkVM 最大化了 CPU 效率
详细报告可在此处找到 此处。
用户时间(CPU效率): 程序代码所消耗的计算机时间量。例如,如果一个程序使用5个内核,每个内核5秒,则用户时间为25秒(5个内核 x 5秒)。用户时间是计算所消耗能量的关键指标。
实际运行时间: 这衡量的是从计算开始到结束的实际经过时间。在同一个例子中,无论使用多少内核,实际运行时间都将是5秒。实际运行时间反映了用户的等待时间。
总而言之,实际运行时间侧重于用户的等待时间,而用户时间则强调运行计算的能源和成本效率。降低这两个指标都有利于用户,因为它可以提供更快的结果并降低开销。
作为我们不断改进的承诺的一部分,需要注意的是,在当前C编译器工具链的alpha版本中,尚未完全支持标准C。C的Valida后端存在一些已知问题,我们的团队正在积极努力解决这些问题,预计对Valida当前性能的影响最小。有关这些已知问题和局限性的详细摘要,请参阅此版本随附的发行说明。
Valida 作为一个裸机计算环境运行,类似于最小嵌入式系统中发现的计算环境,在没有操作系统或内存保护的情况下运行。这不能防止诸如分段错误之类的问题。为了在这种环境中运行,程序通常需要修改。并非所有标准库函数 (libc) 都与裸机环境兼容,尤其是那些涉及系统调用的函数。但是,LLVM 的 libc 可以通过排除进行系统调用的函数来为裸机编译。
开发者可以通过试验工具链、提供宝贵的反馈并为其持续开发做出贡献来深入了解。立即访问我们的 GitHub 仓库,获取文档和资源,开始使用 C 编译器工具链。
方法论概述
以下是针对不同证明系统和测试程序进行基准测试的范围的概述。
三方比较
测试程序:
详细的方法可在 此处 获取。
- 原文链接: lita.foundation/blog/ann...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!