59、深入解析ZK - SNARKs:构建原理与应用探索

深入解析ZK - SNARKs:构建原理与应用探索

1. SNARKs的类型与特点

SNARKs(简洁非交互式知识论证)根据其设置要求可分为三种主要类型:
- 受信任的非通用设置 :这种类型的SNARKs是为单个电路构建的。在设置过程中会生成大量随机数据,这些数据必须保密,否则证明者可以证明虚假陈述。一旦设置完成,这些数据将被销毁。例如Zcash最初使用这种设置,由于只有单一类型的电路(交易转移),所以设置无需更新,但如果电路类型改变,则必须重新进行设置。
- 受信任的通用设置 :SNARKs只需要进行一次受信任的设置。它具有可更新且比通用参考字符串(CRS)更小的结构化参考字符串(SRS)。参考字符串基于秘密随机性具有一定结构,设置中的秘密材料(随机性、陷门等)与电路无关,是通用且可更新的。可以将其视为一个两步过程,首先秘密运行一次性程序生成可更新的设置字符串,然后销毁所有秘密。之后,该设置字符串可用于任何新电路的预处理,而无需依赖任何秘密数据。
- 透明SNARKs或STARKs :不需要受信任的设置,因为它们不使用任何秘密数据。

SNARKs生成的证明体积小且验证速度快,不仅可用于隐私保护,还能提高区块链的可扩展性。然而,它们存在两个关键问题:一是生成证明所需时间长,二是需要SRS,这意味着要信任第三方。

2. 构建ZK - SNARKs的第一步:前端处理

构建ZK - SNARKs通常是一个两步过程。第一步涉及系统的“前端”,即将程序转换为可进行概率检查的等效模型。具体来说,是将待证明的程序转换为算术电路,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值