1个不稳定版本
0.1.0 | 2023年9月29日 |
---|
#1977 在 加密学 中
240KB
6K SLoC
斯巴达2:高速零知识SNARK。
斯巴达是一种高速zkSNARK,其中zkSNARK是一种类型加密证明系统,它允许证明者用一个简短的证明向验证者证明一个数学陈述,并具有简短的验证,而不会泄露陈述之外的信息。斯巴达提供线性时间多项式IOP,当与多项式承诺方案结合使用时,提供简洁的交互式论证。它使用Fiat-Shamir变换来实现非交互性。
与斯巴达的早期实现相比,本项目目标是提供一个通用于多项式承诺方案的斯巴达实现。此版本还接受使用bellperson表达的计算电路。我们目前支持R1CS。未来,我们计划添加对其他电路格式(例如,Plonkish,CCS)的支持。证明不是零知识的(我们计划在不久的将来添加)。此代码的第一个版本是从Nova的开源代码派生出来的。
参考
以下这篇在CRYPTO 2020上发表的论文提供了斯巴达证明系统的详细信息
斯巴达:无需可信设置的通用高效zkSNARK
Srinath Setty
CRYPTO 2020
贡献
本项目欢迎贡献和建议。大多数贡献需要您同意贡献者许可协议(CLA),声明您有权并且确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com。
当您提交拉取请求时,CLA机器人会自动确定您是否需要提供CLA,并相应地装饰PR(例如,状态检查,注释)。只需遵循机器人的指示即可。您只需在整个使用我们的CLA的仓库中这样做一次。
本项目已采用Microsoft开源行为准则。有关更多信息,请参阅行为准则FAQ或通过[email protected]提出任何额外的问题或评论。
商标
本项目可能包含项目、产品或服务的商标或徽标。Microsoft商标或徽标的授权使用受Microsoft的商标和品牌指南约束,并必须遵循。在此项目的修改版本中使用Microsoft商标或徽标不得引起混淆或暗示Microsoft的赞助。任何使用第三方商标或徽标的使用均受这些第三方政策的约束。
依赖
~7-10MB
~195K SLoC