区块链应用开发指南:业务场景剖析与实战
上QQ阅读APP看书,第一时间看更新

3.3.3 RedShift:透明的通用SNARK

要实现基于零知识证明的智能合约(无论是透明的还是保护隐私的),最大的障碍就是缺乏一种通过递归组合实现的高效且通用的零知识证明系统(efficient generic ZK proof systems with recursive composition)。Groth16曾是最高效的ZK SNARK,但它需要为每一个应用专门启动一套受信任的初始化设置,而且在采用递归方式时会很低效。另一方面,基于FRI的SNARK需要高度专业化的构建技能,而且缺乏针对任意通用电路的高效递归组合。

这也是开发RedShift的主要动机之一:从基于FRI协议的多项式承诺方案(polynomial commitment scheme)中衍生出一个透明、高效且简洁的新型SNARK。RedShift目前正在进行同行评议和社区反馈,之后会将RedShift作为一个核心部分部署在ZK Sync上。

Redshift是一种通用的SNARK,能让我们将任意程序转换为可证明的ZK电路。异构电路(如不同的智能合约)可以通过递归的方式在一个SNARK中构成。RedShift仅依赖于抗碰撞的哈希函数,因此可被认为具有后量子安全性。

总结:Redshift

  • 透明的:不需要可信的设置。
  • 可被认为具有后量子安全性:基于久经考验的密码学。
  • 通用的:适用于通用程序(这点与STARK相反)。