采用零知识证明技术的以太坊 Layer2 网路 zkSync 昨日刚上架币安,以太坊创办人 Vitalik Buterin 就发文感慨,链下 ZK(零知识证明)应用程式低估了使用 STARK 的潜力…
以太坊创办人 Vitalik Buterin 昨(17)日稍晚在 Web3 社交平台 Warpcast 上发文感慨,表示链下 ZK(零知识证明)应用程式低估了使用 STARK 的潜力:
我认为链下 ZK 应用程式确实低估了使用 STARK 的潜力,包括对隐私充满极大要求的用例。
目前,STARK 的容量小于 100 kB,对于链下用例而言,与使用 STARK 节省的客户端证明时间相比,这种频宽量简直微不足道。
V 神看空 zkSync?
V 神为何会突然有此感慨?这不禁让人想到在昨日正式上架币安等交易所的以太坊 Layer2 网路 zkSync。
zkSync 是以太坊的第二层扩容解决方案,它采用了 zk-rollups 在链下打包交易,并使用零知识证明(ZK)在链上对其进行诈欺验证。但值得注意的是,同为采用 zk-rollups 的 Layer2 网路,zkSync 不同于已经发币的 Starknet,它在零知识证明系统上采用的是 zk-SNARKs 技术,而 Starknet 采用的则是 zk-STARKS 技术。
因此,V 神或许不是在针对 zkSync 发表评论,只是针对 zk-STARKS 技术提出看法;但也有可能是在暗示 zk-STARKS 技术更有发展潜力也不一定。
撰稿当下,zkSync 代币 $ZK 昨日上架币安后就持续阴跌,现报 0.1999 美元,低于此前市场预测的盘前价格。
zk-SNARKs 与 zk-STARKS 有什么区别?
zk-SNARKs 与 zk-STARKS 均属于零知识证明技术,允许一方能够向另一方证明其声明是真实的,而无需透露任何其他资讯,有利于增加隐私和可扩展性。不过,二者仍然存在以下区别:
zk-SNARK:简洁 + 非互动性
zk-SNARK 是一种简洁、非互动的零知识证明技术,全名为 Zero-Knowledge Succinct Non-interractive Argument of Knowledge,它具备以下特征:
zero-knowledge:零知识证明,在不暴露隐私的情况下向对方证明一件事情,让资料「可用而不可知」。succinct:简洁性,要证明的东西占用的空间很小,而且可以快速验证(几毫秒)。non-interactive:非交互性,意味著证明者和验证者之间不需要有交集即可快速地得到验证结果。zk-SNARK 的简洁性和非互动性,是相对于传统的零知识证明方案而言的。简单来说,传统方案是互动式证明,即示证者(宣称某一命题为真)和验证者(确认该命题确实为真)之间反复确认,你可以理解为示证者不断向验证者询问「是或不是?」,然后验证者不断给出回答,直到最后碰出一个正确答案来,所以效率很低。
zk-SNARK 的解决方案则不需要双方反复确认「是或不是」,而是提前先搞一个正确答案,以此产生公共参考字串(CRS),然后所有的示证者都可以直接访问它。但是,公开参考字串通常由一个小团体来保管,因此有泄漏的可能性,从而被恶意利用,例如创建虚假证明。这牺牲了安全性为代价。
zk-STARK:机率证明 + 缓冲时间
zk-STARK 是成立于 2017 年 12 月的 StarkWare 团队开发的,它是 zk-SNARK 的替代解决方案。
zk-STARK 虽然是一种互动式证明,但它是一种巧妙的互动式证明 —— 透过杂凑函数碰撞(一种机率证明的方式)来保证安全性,因此也实现了高效证明。简单来说就是,先把问题用密码学的方式打碎,然后验证者随机向示证者提出几个问题,如果几轮下来,示证者都给出准确的回答,那么验证就通过了。
zk-STARK 直接利用产生随机性的参数来验证,不需要任何第三方的「答案系统」,因此透明度大幅提高,并且在理论上,量子电脑对其的暴力破解也是无效的。因此相对而言更加安全。
延伸阅读:科普|zk-SNARKs是什么?V神定调零知识证明未来十年「非常重要」