http://www.7klian.com

零知识证明介绍

在此示例中,假如Bob的拥有别离球颜色的常识,则Bob每次城市正确答复。这称为完备性。假如Bob不具备别离球颜色的相关常识,则Bob无法判别Alice是否变更了球。这称为靠得住性。在此协议中,Alice无法看到球的颜色。这称为零常识性。
零常识证明是一种基于概率的验证方法,验证者(verifier)基于必然的随机性向证明者(prover)提出问题,假如证明者都能给出正确答复,则说明证明者或许率拥有他所声称的“常识”。零常识证明并不是数学意义上的证明,因为它存在小概率的误差,欺骗的证明者有大概通过虚假的陈述骗过验证者。换句话说,零常识证明是概率证明而不是确定性证明,可是也存在技能能将误差低落到可以忽略的值。

关于零常识证明是什么,也许你不必然很相识,但说到应用零常识证明技能的产物,你也许并不生疏。zcash就是利用零常识证明技能的隐私币,上的混币合约也是零常识证明技能的一个应用,尚有在本年较量热门的链下扩容技能zkRollup也是零常识证明技能的一个应用。这时你也许会很好奇零常识证明毕竟是一个什么样的技能,为什么既可以用在隐私方面,也可以用于扩容。在接下来一个系列的文章中将为你一一先容,从零常识证明的观念一直到零常识证明背后的暗码学实现。
交互式零常识证明—色盲游戏
· 隐私:在隐私场景中,我们可以借助零常识证明的“不泄露信息”特性,在不泄漏生意业务的细节(吸收方,发送方,生意业务余额)的环境下证明区块链上的资产转移是有效的。
2013年,Pinocchio协议实现了分钟级别证明,毫秒级别验证,证明巨细不到300字节,将零常识证明从理论带到了应用。厥后Zcash利用的SNARKs正是基于Pinocchio的改造版。

第一次迭代后,Alice可以说Bob告诉的断言为真的概率为50%。假如Bob第二次答复正确,那么Alice可以说Bob告诉为真的概率达75%。在第三次迭代后,它将是87.5%。假如持续n次Bob都通过了查抄,则Alice有1-(1/2)^n 的概率可以认为 Bob 说的是真的,这两个球简直是有红蓝两种颜色。
在利用零常识证明时,不会低落安详性;

生成零常识证明需要大量的算力
缺点
具有完整隐秘性;

递归零常识证明
Trusted Set-up(可信配置):是否需要可信配置
呆板将数独中每一列9张卡片取出,并别离夹杂后放入一个袋子中,一共有9列,所以9个袋子
运行过以太坊全节点的人城市有这样的感觉:“同步以太坊全节点的进程太疾苦了”,往往同步以太坊全节点需要耗费几天的时间,今朝以太坊全节点已经到达399,45Gb。全节点对存储资源要求这样高,以至于许多小我私家电脑的硬盘空间和带宽都达不到运行全节点的要求,所以全节点酿成了只有少部门实体可以或许运行的,区块链逐渐从去中心化酿成了中心化运行。etherscan以太坊全节点统计网址

Alice当Bob的面拿起两个球,左手拿蓝球,右手拿红球,然后将双手放到背后,这样Bob就看不到Alice手上的球了,Alice在背后随机互换阁下手上的球,互换完成后Alice将手伸出,并询问Bob两个球是否互换过位置,假如Bob能看到球上的颜色,那么每次Alice换过球的位置后,Bob都能正确答复出Alice的问题。

要让生意业务在不泄漏生意业务相关细节的环境下可以被验证,这正是零常识证明办理的问题。

呆板将数独中每个粗线宫(3*3)内卡片取出,并别离夹杂后放入一个袋子中,一共有9个,所以9个袋子

利益
· 由于运行Coda全节点的需要的资源少,所以区块链网络将有更多活泼节点,晋升了去中心化水平

在今朝主流的公链,如、以太坊上,从创世块开始,每个账号之间的生意业务信息都是果真记录在区块链上,这样做的长处是可以有效办理双花的问题,矿工可以溯源,校验每笔生意业务的余额是否足够。弊端是一旦某个账号的身份袒露了,那么第三方就可以追踪到这个账号的以往所有汗青生意业务,甚至还可以反推出这个账号大概节制的其他账号,从这一点来说是相当缺乏隐私的。
呆板将数独中每一行9张卡片取出,并别离夹杂后放入一个袋子中,一共有9行,所以9个袋子
为了领略上面这段话的寄义,接下来给出一个有关零常识证明的很是经典的例子:
零常识证明的界说为:证明者(prover)可以或许在不向验证者(verifier)提供任何有用的信息的环境下,使验证者(verifier)相信某个论断是正确的。

递归零常识证明验证:只要验证前一个状态的proof就可以验证整个链的状态,好比:当验证proof #5状态是正确的,相当于递归验证了proof #4,proof #3。
零常识证明开拓东西
Proof Size:生成零常识证明的巨细
什么是零常识证明
在Zcash项目中,最初回收libsnark算法库实现zk-SNARK零常识证明。在2018年进级到Sapling版本时,由于之前回收的libsnark版本较老,个中关于椭圆曲线和zk-SNARK方案的选择都已不是其时的最优选项,Zcash改为利用自研的bellman算法库。bellman是Zcash团队基于Rust语言实现的zk-SNARK算法库,支持Groth16论文方案,今朝主要在Zcash项目中应用。

部门协议不能抗量子计较

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