零知识证明的技术路径之争:zk-SNARK和zk-STARK谁更优?

2022-12-27 09:57 栏目:行业动态 来源:网络整理 查看()

作者:克洛伊

密码业界广泛关注的零知识证明技术并不是近几年才出现的新技术,而是由数学家S.Goldwasser、S.Micali和C.Rackoff于1980年提出的。

知识的零证明涉及一系列步骤,可以实现密码学中的“可用但未知”。

而区块链是公开、透明、不可篡改的,这意味着加密投资者的资产和交易记录没有隐私可言,所以零知识证明技术被引入区块链,其中最受关注的是zk-SNARK和zk-STARK。

Zk-SNARK是项目方使用最广泛的,而zk-STARK被密码学专家认为优于ZK-SNARK。那么综合技术和实际应用谁更好呢?

zk-SNARK:简洁 +非交互性

Alessandro Chiesa等人在2012年开发了zk-SNARK协议,这是一种简洁且非交互式的零知识证明技术。它的全称是零知识简洁的非交互式知识论证,可以分解成三个部分来理解:

zero-knowledge:

零知识证明,就是在不泄露隐私的情况下,向对方证明一件事,让数据“可用但未知”。

succinct:

简单,要证明的东西占用空间小,可以快速验证(几毫秒)。

non-interactive:

非交互性意味着验证者和验证者之间没有交集,可以快速获得验证结果。

与传统的零知识证明方案相比,zk-SNARK具有简洁和非交互性的特点。

简单来说,传统的方案是交互式证明,即证明者(声明一个命题为真)和验证者(确认命题确实为真)之间的反复确认。你可以理解证明者不停地问验证者“是还是不是?”然后验证者不断给出答案,直到最后找到一个正确答案,这样效率就很低了。

Zk-SNARK的解决方案不需要双方反复确认“是或否”。而是提前做一个“可信初始化”,生成一个公共引用字符串(CRS),然后所有认证者都可以直接访问。

打个通俗的比方吧。互动证明相当于老师批改每个考生的每道试题,效率很低,但正确答案只在老师手里,基本不存在有人偷答案的情况。

而zk-SNARK则是直接上传正确答案,然后让考生自己核对答案(将自己解决的某个问题发送到后台系统,无论正确与否都会直接得到最终结果)。效率很高,代价是答案可能会泄露,虽然这个答题系统是加密的。

所以,要解决zk-SNARK容易被泄露的问题,提高“答案系统”安全性的方案有很多,不同项目方采用zk-SNARK的方案也不一样。比如zCloak wallet直接把算法以明文的形式发送给用户,用户下载到本地做计算(这样即使断网,工作依然可以完成)。

zk-STARK:概率证明+缓冲时间

Zk-STARK由2017年12月成立的StarkWare团队开发。是zk-SNARK的备选方案。花了一年多的时间研发,经过无数次的迭代,才彻底完成。已经到了2019年。

Zk-SNARK预先生成公共引用串,以非交互证明的方式提高了证明效率,但也留下了隐患。zk-STARK虽然是一个交互证明,但却是一个巧妙的交互证明。3354通过哈希函数碰撞(概率证明的一种方式)保证了安全性,所以也实现了高效证明。

这个想法直接借鉴了2015年推出的交互式预言机证明(IOP)技术。简单来说就是先用密码学破解问题,然后验证者随机向证明者提几个问题。如果证明者在几轮后给出了准确的答案,则验证通过。

所以zk-STARK也需要很少的计算资源来完成证明,但是更安全,不存在答案泄露的风险。为了进一步保证安全性,还设置了一个争议时延(DTD)作为缓冲。

zk-SNARK和zk-STARK的区别

1.透明度

zk-SNARK的公共引用字符串通常由一个小团体保管,因此存在被泄露的可能性,从而被恶意利用,比如创建假证。

Zk-STARK直接使用随机参数进行验证,没有任何第三方“答案系统”,因此透明度大大提高。

2.抗量子计算机攻击

Zk-SNARK未来很容易被量子计算机暴力破解(通过分解计算从公钥中提取私钥)。当然,量子计算何时到来还是个问题。

Zk-STARK用哈希函数碰撞的方法证明量子计算机的暴力破解在理论上是无效的。

3.可扩展性

Zk-SNARK的证明在链中扩展性更强(生成证明的字节数更小),zk-STARK在纯链中似乎没有优势。

StarkWare官网号称最快,可能是因为zk-STARK允许链下大规模计算和存储,然后在链上完成验证,所以扩展性显著提高(甚至提高10倍),成本显著降低。

总结

Zk-SNARK技术应用最为广泛,尤其是以太坊的拓展场景。Zk-SNARK主要专注于身份、支付、DeFi、资产证明等应用的“隐私保护”。

zk-STARK虽然也在发展,但技术还不成熟,至少通用性有限,所以我们看到它的应用大多侧重于“可扩展性”。

不过按照StarkWare团队2022年的说法,可扩展性已经解决了,是时候瞄准“隐私保护”了,这是StarkNet的Layer3和Layer4中的分形分层解决的,似乎和zk-STARK证明系统本身没有直接关系。

至少目前大部分以太坊Layer2项目(zkSync,Aztec,Loopring,Scroll等。)采用zk-SNARK技术路线。除了其在普遍性方面的限制之外,还有一种普遍的反馈,即zk-STARK的开发太困难了.

当然,从长远来看,zk-STARK可以承载更多的计算,可能更有前途。

一般来说,zk-SNARK和zk-STARK之间的关系有点类似于最优上卷和zk上卷之间的关系,前者在短期受益,后者在长期受益。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发