长推:详解powdr为zkVM设计的模块化技术栈

MarsBit
媒体专栏
热度: 17018

详解powdr,这是一个为零知识虚拟机(zkVM)设计的模块化技术栈

原文作者:powdr labs

原文来源:Twitter @powdr_labs

编译:MarsBit,MK

详解powdr,这是一个为零知识虚拟机(zkVM)设计的模块化技术栈!

今年早些时候,@ethchris、@vanderkriek和@leonardoalt开始了powdr项目,以改进zkVM的工具。在@ethereum基金会的持续支持下,这个团队很快将成为powdr实验室。

更多内容↓

powdr是一个zkVM语言和编译器工具包。高级powdr-asm语言可用于定义虚拟机和程序。这些程序被编译成低级约束语言。

通过自动化安全分析和优化过程,powdr生成了零知识证明所需的见证和约束。

powdr借鉴了LLVM等成熟的编译器架构的灵感:它对前端语言和后端目标都是中立的。

在前端,除了为定制VM编写的程序外,powdr还可以接收RISCV和LLVM程序,并创建执行的零知识证明。在语言层面无缝集成其他虚拟机,如WASM。

这意味着同样的编译器中间件可以用来为用Rust、C++、Solidity、AirScript等语言编写的程序生成零知识证明。

在后端,powdr寻求最大的灵活性。目前,halo2得到了支持,包括在EVM中的证明压缩、聚合和验证。我们正在努力添加eSTARK和Nova。

powdr支持自动见证生成。这不仅仅是为了方便:我们的内部约束解决器确保见证是确定性的,帮助排除在零知识开发中最可怕的声音错误。

powdr被设计为可组合性,这是支持长执行跟踪和减少证明人开销的基本特性。比如,这些是用Rust和C++等语言编写的现有大型程序所期待的。

我们设想的使用案例无疑是伟大的:

a) zkRISCV:我们的PoC zkRISCV可以用约300行的powdr-asm实现。它允许生成对no-std Rust的证明。

b) zkLLVM:与zkRISCV类似,一个通用的前端允许我们也通过Valida VM支持LLVM程序。

从长期来看,我们可以建立

c) 使用现成的EVM实现(如go-ethereum,revm,evmone)的zkEVM。

如果你想为现有程序生成零知识证明,powdr旨在成为你的编译器堆栈的即插即用替代方案。

如果你正在构建一个zkVM,powdr使你能够专注于高级架构,使编写、阅读、测试、审计、验证你的实现变得简单。

总结一下,powdr是一个对zkVM前后端中立的编译器中间件。它使为用Rust/C++等语言编写的高级程序生成零知识证明变得简单,同时也能够构建具有优秀开发者体验、生产力和性能的自定义zkVM。

我们中的一些人将在下周参加@EthCC、@zkDayofficial、ZK Paris和其他活动。如果你对𝑝𝑜𝑤𝑑𝑟感兴趣,或者想看一下演示,欢迎和我们交谈!

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。