Crypto领域被高度关注的零专业知识证明(Zero-Knowledge Proof)技术,并非是最近几年刚刚出现的新技术应用。实际上在1980年便已被数学家S.Goldwasser、S.Micali及C.Rackoff明确提出。
零专业知识证明涉及到一系列流程,能够实现密码算法里的「可以用且不得知」。因此,该技术被引进了区块链,以解决链上财产及交易明细没有隐私问题,其中zk-SNARK和zk-STARK更为关注。
zk-SNARK被项目方选用得较多,而zk-STARK也被密码算法专家指出好于zk-SNARK。那么这两者到底哪个更优质呢?
zk-SNARK:简约非互动性
Alessandro Chiesa等人在2012年开发设计了zk-SNARK协议书。它是一种简约化、非交互式的零专业知识证明技术,全名是zero-knowledge succinct non-interactive arguments of knowledge。它能够拆卸成三部分去理解:
- zero-knowledge:零专业知识证明,在没有暴露隐私前提下给对方证明一件事情,让数据信息「可以用且不得知」。 - succinct:简约,要证明的东西了占用的空间不大,并且能够快速验证(几ms)。 - non-interactive:非互动性,代表着证明者与验证者中间不用有联系就可以迅速地获得验证结论。
相对于传统的零专业知识证明计划方案来说,zk-SNARK的简约与非互动性更加突出。传统式方案是交互式证明,即示证者不断向验证者确认,效率不高。而zk-SNARK通过提早搞一个「可靠复位」形成公共性参照字符串数组(CRS),随后每一个示证者都可以浏览它。这种不断确认的方法让效率大幅度提高。
zk-STARK:几率证明缓冲期
zk-STARK是StarkWare团队于2017年12月研发的一种取代zk-SNARK的技术方案。经过多次迭代更新,它于2019年正式推出。
与zk-SNARK不同,zk-STARK是交互式证明。根据哈希函数撞击(一种几率证明的形式)来确保安全,完成高效率证明。它使用一种巧妙地交互式证明方式,即将问题用密码算法的形式粉碎,随后验证者任意向示证者明确提出好多个问题。如果对方能够每次都精确回答,验证就通过了。
zk-STARK与zk-SNARK相比具有如下不同:
- 清晰度:zk-SNARK的公共性参照字符串数组一般由一个团体来存放,有泄漏的概率。zk-STARK则立即运用形成偶然性的主要参数来验证,无需任何第三方的「回答系统软件」。 - 抗超级计算机进攻:zk-SNARK容易被超级计算机暴力破解密码,而zk-STARK采用哈希函数撞击的方法去证明,超级计算机的暴力破解密码无效。 - 可扩展性:zk-SNARK的证明在链上更加具有可扩展性,而zk-STARK可进行链下计算和存储,进而可扩展性更高。
总体来说,zk-SNARK技术方案被运用得较多,尤其是在以太币扩充场景中。zk-STARK尽管还在探索当中,但技术尚不够成熟,起码在实用性上受到限制。但从长远来看,zk-STARK可承受的运算量更高,将更有前途。
币圈最齐初学者手册了。由于有许多感兴趣的新手都是有私聊过我讲不清楚该怎么着手,觉得币圈很大,有点儿迷惘,担心被割。以前也是有读过许多关于区块链、数字货币的文章内容,但全是零零散散对于某一个的深入分析,这会让许多币圈新手要...
本文来自 Decrypt,原文作者:Andrew AsmakovOdaily 星球日报译者 | 念银思唐总部位于以色列的 StarkWare 是以太坊 Layer 2 扩容解决方案 StarkEx 和 StarkNet ...
在信用卡的使用过程中,有一些冷门却“实用”小知识的小知识,很多卡友可能还不知道,了解后却可为大家避免一些损失。现在就和大家一起聊聊一下信用卡的“那些事”。 1、被扣年费 各家银...
从技术角度看,区块链是一个由多方共同维护的技术系统,用区块链结构存储数据,并使用密码学来确保传输和访问的安全。区块链基础设施主要分为应用层、合同层、激励层、共识层、网络层、数据层和数据基础设施层。共识层、网络层、数据层:...