ARK:技术指南 | 理解零知识证明算法之Zk-stark

Concept:zk-starkvszk-snark

谈到ZKP算法,大伙可能听过一些,比如zk-snark,zk-stark,bulletproof,aztec,plonk等等。今天,咱就给大伙聊聊这一对“表面兄弟”,zk-stark和zk-snark算法的异同之处。

不如,先让我们从名称说起?毕竟,两个看起来都很厉害的亚子^_^!

如下图所示,我们将名称zk-stark和zk-snark根据功能特点分别分成四个部分,然后逐个比较分析。

Zk-stark=>zk-stark

zk:零知识,表明隐私的输入将会被隐藏,除了证明者,其他任何人不会看见;

s:可扩展的,和ReplayComputation的验证耗时相比,zk-stark的证明和验证耗时分别与之呈拟线性关系和对数关系;

天启资本首席交易员TraderT:高频交易不止于技术指标,应多观察和思考:7月2号19:00,合约帝金牌讲师、天启资本首席交易员TraderT做客MXC抹茶社区,就个人在数字货币合约市场的投资心得进行分享。

TraderT表示,投资主要分为三个步骤:仓位管理;严格的止损;严格的提款本金固定及充值纪律。交易员进行一次交易的判断流程通常是制定计划,包括预判行情、开单计划、止盈止损的点位、突发事件下是否入场等综合因素。每个人都有自己的哈姆雷特,每个人对于技术分析的理解都不同。我做高频交易的思路是,作为“Day Trader”每天需要观察什么,做什么,如何进行高频交易,而不是完全通过技术指标去分析。[2020/7/2]

t:透明的,zk-stark算法没有CRSsetupbyTrustedparty;

arg:知识论证,只有知道privateinput的prover,才能生成有效的proof;

Zk-snark=>zk-snark

zk:零知识,表明隐私的输入将会被隐藏,除了证明者,其他任何人不会看见;

分析 | GTI Global Strength技术指标显示比特币出现去年12月以来的首次买入信号:根据GTI Global Strength技术指标,比特币收到了自去年12月以来的首次买入信号。目前,比特币价格维持在8000美元的水平,进一步增强了市场的乐观情绪,可能会推动该币种的进一步升值。(彭博社)[2019/10/5]

s:简洁的,指的是生成的proof足够小和验证时间足够短;

n:非交互式的,Prover生成证明的过程中和verifier没有交互;

arg:知识论证,只有知道privateinput的prover,才能生成有效的proof;

Compare

相同点

都实现了将隐私的输入可靠隐藏;

都是基于知识论证,不知道privateinput的prover生成不了有效的proof;

都可以实现交互式与非交互式式的算法,只是取决于randomness是由谁来生成的;

动态 | CME公司创始人赵易天:“区块链+AI”等新技术指引未来音乐市场的发展走向:据中国文化报消息,日前,第二十八届中国国际专业音响·灯光·乐器及技术展览会(乐器展)在北京举办。CME公司创始人赵易天在会上表示,无论产品硬件研发还是音乐软件开发,都需要符合市场潮流与方向。他提到,MIDI新标准、“区块链+AI”等新技术指引着未来音乐市场的发展走向。例如,MIDI新标准将建立起智能化乐器互联,云服务能建立起无地域限制的双向连接,区块链可以实现节点间的价值传递等。[2019/6/14]

不同点

zk-stark具有可扩展性,即证明和验证的耗时与原始计算的耗时分别呈拟线性关系和对数关系,这意味这,如果原始输入的数据集增大1000000倍,zk-stark的证明耗时增加线性倍数的时间,但验证时间仅仅增加21*log1000000=~420倍。证明耗时呈线性关系基本满足所有的ZKP算法,但是验证时间呈对数关系,仅此一家,因此在扩展性上,zk-stark要胜一筹。

zk-stark同样具有简洁性,但是是验证简洁性。所谓简洁性,通常是指即使验证程序很大,生成的proofsize也不会很大,同时又能很快的完成验证。相比对zk-snark,zk-stark的proofsize要大的多,因此在简洁性上,zk-snark要胜一筹。

声音 | 分析师:关键技术指标显示BTC首次出现2015年以来的强劲长期势头:据CCN消息,技术分析师Eric Thies表示,一个关键的技术指标可能预示着比特币出现了自2015年以来的首次强劲长期势头。上一次月MACD达到交叉信号时,比特币价格在三年内从400美元最终上涨至2万美元。[2019/6/13]

ALGcompare

前面从概念上对zk-stark和zk-snark算法做了比较,其异同点可以笼统的概括为:

都是基于知识论证的ZKP算法;

zk-stark不需要zk-snark的Trustedparty设置CRS,因此是Transparent;

zk-stark的验证耗时与nativecomputation耗时呈对数关系,因此是Scalable;

下面,我们将从算法层面,去做相对更深入一些的比较分析:

zk-snarkALG

算法思想:将证明CIstatement成立问题转换成证明多项式等式成立问题,转换过程用到了算术环路和QAP方法;

分析 | Coindesk:BTC8个月来首次出现技术指标看涨信号:据coindesk分析,BTC突破了看跌通道、周线MACD出现0轴金叉,表明BTC可能在未来几周有可能冲击7月高点8500美元。在接下来的24小时内,投资者需要密切关注4小时图中的三角旗形态,如未能突破至7500美元或将使多头获利了结,导致BTC转而跌至7000美元。[2018/9/4]

多项式等式成立意味着什么?

等式两边可以看作两个度相等的多项式,假设为n,其交点最多有n个,假如在一个很大的域范围内随机选一个点,如果的两个多项式在此点的值相等,则证明两个多项式是相等的。

我们可以看到,等式右边的多项式因子Z是目标多项式,它的零点就是右边整体多项式的零点,也就是等式左边整体多项式的零点,而等式左边的多项式在这些零点的取值,就转换成了一个个的算术电路里每个乘法门对应的一阶线性约束等式成立,即原始计算等式成立;

算法分为三个步骤,CRS生成;证明者证明;验证者验证;

可以看到prover生成证明过程中,没有与验证者交互,因此是non-interative;

如何保证prover用于生成证明的A/B/C/H是多项式且是小于某个度数呢?

通过trustedparty来保证,因为它是可信任的,因此它生成pk,vk用到的A/B/C等肯定是多项式并且是小于某个度的;

如果证明者作恶,那么验证者将会很大概率验证失败;

主要用到了同态加密HH和系数知识假设KCA和椭圆曲线双线性配对等数学知识;

zk-starkALG?

算法思想:将证明CIstatement成立问题转化成证明多项式小于某个度的问题,转换过程用到了多项式插值方法;

多项式等式成立意味着什么?

思想与zk-snark一样,T同样为目标多项式,其零点已知且公开,也是等式左侧多项式Q的零点,多项式Q在每一个零点的取值都对应了一个executetrace的成立。因此多项式相等,意味着executetrace正确,说明原始CI成立。

多项式小于某个度意味着什么?

和zk-snark类似的是,两者都把CIstatement转换成了证明多项式等式成立的问题。为了防止验证者作恶,必须要保证多项式是低于某个度的。不同的是,zk-snark使用了trustedparty机制和同态加密等数学方法,而zk-stark使用了低度测试等数学方法。当且仅当多项式真正的小于某个度时,多项式的相等才是真实意义上的相等,说明生成轨迹多项式的executetrace是正确的,即原始CI成立。

算法分为两大步骤,算术化和低度测试;

算术化:是把问题转化为多项式形式

低度测试:是证明组合多项式(图中黄色)和轨迹多项式小于某个固定的度-->FRI算法

在生成证明的过程中,有交互,所以图中描述的是交互式的零知识证明算法;

Summary

以上分别从概念和算法上介绍了zk-snark和zk-stark算法的异同之处,作为引文,后续发文将深入详细价绍zk-stark算法的原理。如有错误,麻烦批评指正,谢谢。

Appendix

V神三部曲,含泪拜读https://vitalik.ca/general/2017/11/09/starks_part_1.html

zk-stark论文?chrome-extension://cdonnmffkdaoajfknoeeecmchibpmkmg/assets/pdf/web/viewer.html?file=https%3A%2F%2Feprint.iacr.org%2F2018%2F046.pdf

starkware官方讲解系列https://medium.com/starkware/stark-math-the-journey-begins-51bd2b063c71

zk-snark论文?chrome-extension://cdonnmffkdaoajfknoeeecmchibpmkmg/assets/pdf/web/viewer.html?file=https%3A%2F%2Feprint.iacr.org%2F2013%2F879.pdf

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-1:88ms