谈到ZKP算法,大伙可能听过一些,比如zk-snark、zk-stark、bulletproof、aztec、plonk等等。今天,ZKSwap团队就和大伙聊聊这一对“表面兄弟”,zk-stark和zk-snark算法的异同之处。
首先,先从名字说起。
如下图所示,我们将名称zk-stark和zk-snark根据功能特点分别分成四个部分,然后逐个比较分析。
Zk-stark=>zk-stark
zk:零知识,表明隐私的输入将会被隐藏,除了证明者,其他任何人不会看见;s:可扩展的,和ReplayComputation的验证耗时相比,zk-stark的证明和验证耗时分别与之呈拟线性关系和对数关系;t:透明的,zk-stark算法没有CRSsetupbyTrustedparty;arg:知识论证,只有知道privateinput的prover,才能生成有效的proof;Zk-snark=>zk-snark
CryptoPunk#7641以186ETH的价格成交:金色财经报道,数据显示,CryptoPunk#7641以186ETH的价格成交。[2023/7/24 15:54:40]
zk:零知识,表明隐私的输入将会被隐藏,除了证明者,其他任何人不会看见;s:简洁的,指的是生成的proof足够小和验证时间足够短;n:非交互式的,Prover生成证明的过程中和verifier没有交互;arg:知识论证,只有知道privateinput的prover,才能生成有效的proof;Compare
相同点都实现了将隐私的输入可靠隐藏;都是基于知识论证,不知道privateinput的prover生成不了有效的proof;都可以实现交互式与非交互式式的算法,只是取决于randomness是由谁来生成的;不同点zk-stark具有可扩展性,即证明和验证的耗时与原始计算的耗时分别呈拟线性关系和对数关系,这意味这,如果原始输入的数据集增大1000000倍,zk-stark的证明耗时增加线性倍数的时间,但验证时间仅仅增加21*log1000000=~420倍。证明耗时呈线性关系基本满足所有的ZKP算法,但是验证时间呈对数关系,仅此一家,因此在扩展性上,zk-stark要胜一筹。zk-stark同样具有简洁性,但是是验证简洁性。所谓简洁性,通常是指即使验证程序很大,生成的proofsize也不会很大,同时又能很快的完成验证。相比对zk-snark,zk-stark的proofsize要大的多,因此在简洁性上,zk-snark要胜一筹。ALGcompare
PeckShield:OpenSea 上四个 Invisible Friends NFT 被盗:7月4日消息,据 PeckShield 监测,四个 Invisible Friends NFT(分别为 #3966、#4432、#608、#609)在 OpenSea 上被钓鱼地址Fake_Phishing182232窃取。[2023/7/4 22:17:44]
前面从概念上对zk-stark和zk-snark算法做了比较,其异同点可以笼统的概括为:
都是基于知识论证的ZKP算法;zk-stark不需要zk-snark的Trustedparty设置CRS,因此是Transparent;zk-stark的验证耗时与nativecomputation耗时呈对数关系,因此是Scalable;下面,我们将从算法层面,去做相对更深入一些的比较分析:
巴哈马监管机构:目前托管的FTX资产最终将分配给债权人和客户:12月14日消息,巴哈马证券委员会表示,关于目前巴哈马委托第三方机构托管的4亿美元加密资产,该机构回应称,“委员会仅作为受托人持有这些资产(根据巴哈马法律),它们最终将根据法院的指示分配给FTX的债权人和客户,无论他们身在何处”。
另外,巴哈马监管机构还表示,FTX新任CEO John J. Ray III在SBF和官员之间营造一种虚假的交流印象,监管机构要求Ray和他的代表不要“阻挠调查”。(Cointelegraph)[2022/12/14 21:44:23]
zk-snarkALG算法思想:将证明CIstatement成立问题转换成证明多项式等式成立问题,转换过程用到了算术环路和QAP方法;多项式等式成立意味着什么?a.等式两边可以看作两个度相等的多项式,假设为n,其交点最多有n个,假如在一个很大的域范围内随机选一个点,如果的两个多项式在此点的值相等,则证明两个多项式是相等的。b.我们可以看到,等式右边的多项式因子Z是目标多项式,它的零点就是右边整体多项式的零点,也就是等式左边整体多项式的零点,而等式左边的多项式在这些零点的取值,就转换成了一个个的算术电路里每个乘法门对应的一阶线性约束等式成立,即原始计算等式成立;算法分为三个步骤:CRS生成;证明者证明;验证者验证;可以看到prover生成证明过程中,没有与验证者交互,因此是non-interative;如何保证prover用于生成证明的A/B/C/H是多项式且是小于某个度数呢?a.通过trustedparty来保证,因为它是可信任的,因此它生成pk,vk用到的A/B/C等肯定是多项式并且是小于某个度的;b.如果证明者作恶,那么验证者将会很大概率验证失败;c.主要用到了同态加密HH和系数知识假设KCA和椭圆曲线双线性配对等数学知识;
XEN在Uniswap V2上的成交额已达3515万美元:金色财经报道,数据显示,XEN在Uniswap V2上的成交额已达3515万美元。据CoinMarketCap页面信息,XEN Crypto Token XEN现报价0.002559美元。[2022/10/10 12:52:02]
zk-starkALG算法思想:将证明CIstatement成立问题转化成证明多项式小于某个度的问题,转换过程用到了多项式插值方法;多项式等式成立意味着什么?思想与zk-snark一样,T同样为目标多项式,其零点已知且公开,也是等式左侧多项式Q的零点,多项式Q在每一个零点的取值都对应了一个executetrace的成立。因此多项式相等,意味着executetrace正确,说明原始CI成立。
多项式小于某个度意味着什么?和zk-snark类似的是,两者都把CIstatement转换成了证明多项式等式成立的问题。为了防止验证者作恶,必须要保证多项式是低于某个度的。不同的是,zk-snark使用了trustedparty机制和同态加密等数学方法,而zk-stark使用了低度测试等数学方法。当且仅当多项式真正的小于某个度时,多项式的相等才是真实意义上的相等,说明生成轨迹多项式的executetrace是正确的,即原始CI成立。
算法分为两大步骤,算术化和低度测试;a.算术化:是把问题转化为多项式形式b.低度测试:是证明组合多项式(图中黄色)和轨迹多项式小于某个固定的度-->FRI算法在生成证明的过程中,有交互,所以图中描述的是交互式的零知识证明算法;
Summary
以上分别从概念和算法上介绍了zk-snark和zk-stark算法的异同之处,作为引文,后续发文将深入详细价绍zk-stark算法的原理。如有错误,麻烦批评指正,谢谢。
数据如何永久存储这个话题已持续了很多年,很多创新团队在尝试实现这一人类迫切需求的工具,2020年,全球开源代码仓库Github与挪威胶片技术公司PIQL合作.
1900/1/1 0:00:00据1月29日TheBlock消息,Visa在2021年第一季度财报电话会议上专门介绍了加密技术,并计划与钱包和交易所合作,使Visa的用户能够使用法币购买加密货币或将加密货币兑现法币.
1900/1/1 0:00:00今日资讯:2月2日,Jennifer近日在slack频道发布消息称,Filecoin网络将在未来几周进行强制性的升级,此次升级会将Filecoin网络强制更新到v1.5.0版本.
1900/1/1 0:00:00? 金币专栏:2021年2月1号、晚间比特币行情分析与操作策略???好的技术操作不仅能抓住好的行情,还能深度解套,要知道人在江湖走哪有不湿鞋.
1900/1/1 0:00:00???????币圈从09年发展至今,每年都有不同的新热点出现,但很多热点的模式注定了它很难长期持续下去的,因此这类热点模式注定就是靠玩法吸引人气和流量,是短线,玩的就是快进快出.
1900/1/1 0:00:00前言:???一个人能走多远,要看他有谁同行;一个人有多优秀,要看他有谁指点;一个人有多成功,要看他有谁相伴.
1900/1/1 0:00:00