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
每月282次下载
用于 21 个crate(直接使用3个)
3MB
58K SLoC
snarkvm-polycommit
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