#零知识证明 #虚拟机 #非确定性 #字节码 #证明 #snark #acvm

brillig_vm

处理Brillig字节码的虚拟机,用于将非确定性引入ACVM

33个版本 (20个重大更新)

0.46.0 2024年5月21日
0.44.0 2024年4月24日
0.41.0 2024年3月11日
0.27.0 2023年9月20日
0.21.0 2023年7月26日

255密码学 中排名

Download history 19/week @ 2024-04-26 136/week @ 2024-05-03 13/week @ 2024-05-10 146/week @ 2024-05-17 18/week @ 2024-05-24 3/week @ 2024-05-31 3/week @ 2024-06-07 2/week @ 2024-06-14 7/week @ 2024-06-28 106/week @ 2024-07-05 6/week @ 2024-07-19 48/week @ 2024-07-26

每月54次下载
2 个crate中使用(通过 acvm

MIT/Apache

550KB
11K SLoC

C++ 6K SLoC Rust 4.5K SLoC // 0.1% comments

Noir编程语言

Noir是一种用于SNARK证明系统的领域特定语言。它被设计为可以使用任何ACIR兼容的证明系统。

此实现处于早期开发阶段。尚未经过审查或审计。不适合用于生产。请期待错误!

快速开始

阅读安装部分,来自Noir文档

阅读完文档后,您可以访问Awesome Noir来运行其他人创建的一些示例。

获取帮助

加入Noir 论坛Discord

贡献

查看CONTRIBUTING.md

未来工作

当前重点是尽可能收集反馈,处于alpha阶段。Noir的主要重点是安全性开发者体验。如果您发现某个功能似乎不符合这些目标,请提出问题!

最低Rust版本

此工作空间最低支持的rustc版本是1.74.1。

许可证

Noir是免费和开源的。它采用双重许可证发行。(MIT/APACHE)

除非您明确表示,否则根据Apache-2.0许可证定义,您有意提交的任何贡献,用于包含在本存储库中,都应如上所述双重许可,不附加任何额外的条款或条件。


lib.rs:

Brillig 虚拟机(VM)是一种专门的 VM,它允许 ACVM 执行自定义的非确定性操作。

Brillig 字节码与常规的 ACIR 不同,因为它不会生成约束。这是对 ACVM 内部存在的固定指令的泛化。

依赖项

~8.5MB
~163K SLoC