30个版本 (7个重大更新)

0.8.0 2022年2月11日
0.7.9 2021年8月15日
0.7.6 2021年7月31日
0.2.1 2021年3月14日

#64#operating-systems

Download history 50/week @ 2024-04-07 52/week @ 2024-04-14 61/week @ 2024-04-21 56/week @ 2024-04-28 45/week @ 2024-05-05 60/week @ 2024-05-12 50/week @ 2024-05-19 88/week @ 2024-05-26 99/week @ 2024-06-02 47/week @ 2024-06-09 55/week @ 2024-06-16 71/week @ 2024-06-23 67/week @ 2024-06-30 76/week @ 2024-07-07 82/week @ 2024-07-14 57/week @ 2024-07-21

每月282次下载
用于 21 个crate(直接使用3个)

GPL-3.0 许可证

3MB
58K SLoC

snarkvm-polycommit

Crates.io Authors License

snarkvm-polycommit 是一个Rust库,实现了(一元)多项式承诺方案。这个库最初是在 Marlin论文 中开发的。

概述

(一元)多项式承诺方案是一种密码学原语,它允许一方对一元多项式进行承诺,然后在以后可以揭示多项式的所需评估值,并附带证明其正确性的密码学证明。

这个库提供了多项式承诺方案的多种构建方式。这些构建方式支持一次对多个不同次数界定的多项式进行承诺,将针对同一评估点的多个评估证明批处理为单个证明,并对证明进行批处理验证。

多项式承诺方案满足的关键属性是 简洁性可提取性隐藏性。请参阅 Marlin论文 以了解这些属性的定义。

性能分析

这个库配备了性能分析基础设施,可以打印详细的执行时间跟踪。要启用此功能,请使用 cargo build --features print-trace 编译。

参考文献

多项式承诺
Aniket Kate, Gregory M. Zaverucha, Ian Goldberg
ASIACRYPT 2010

声波:来自线性大小通用和可更新结构化参考字符串的无知识SNARKs
Mary Maller, Sean Bowe, Markulf Kohlweiss, Sarah Meiklejohn
CCS 2019

AuroraLight:在类似声波的系统中的改进验证者效率和SRS大小
Ariel Gabizon
ePrint, 2019

Marlin:使用通用和可更新SRS的预处理zkSNARKs
Alessandro Chiesa, Yuncong Hu, Mary Maller, Pratyush Mishra, Noah Vesely, Nicholas Ward
EUROCRYPT 2020

来自累积方案的带证明数据
Benedikt Bünz, Alessandro Chiesa, Pratyush Mishra, Nicholas Spooner
ePrint, 2020

依赖项

~5–17MB
~185K SLoC