全国统一热线:

400-123-4657

banner图
产品中心

PRDUCTS

产品中心PRDUCTS

技术支持RECRUITMENT

    jbo竞博官网技术支持分售前技术支持和售后技术支持,售前技术支持是指在销售遇到无法解答的产品问题时,售前技术支持给予帮助;售后技术支持是指产品公司为其产品用户提供的售后服务的一种形式,帮助用户诊断并解...
点击查看更多
第五系列

当前位置: 首页 > 产品中心 > 第五系列

深入理解Zcash的零知识证明体系‘jbo竞博官网’

2023-12-04 13:21:02

本文摘要:前言主要共享Zcash Sapling版本的协议细节。

前言主要共享Zcash Sapling版本的协议细节。多多指教!!!Zcash迄今为止,Zcash总共经历了三个版本的递归,第四次版本升级时间预计在12.11.2019,据官方讲解,网卓新闻网,此次改版主要是延长了出块的时间。

作为零科学知识证明的顺利应用于项目,让我们带着以下几个问题去研究Zcash的机制:Zcash是如何隐蔽发送到方的?Zcash是如何隐蔽接管方的?Zcash是如何隐蔽交易金额的?建议:读者本文前,您最差早已理解了:1. note的概念;2. 零科学知识证明的基本概念;Sapling本篇主要共享Zcash Sapling版本协议的主要细节,相对于Sprout版本,还是做到了很多的改动和优化,在此不做到详尽的对比分析。重返到大方向,无论是Sapling版本,还是Sprout版本,交易的整体流程都可以详细总结为以下三个步骤:1. 交易者发动交易;2. 交易者分解zk-proof,和signature,检验者检验;3. 接收者接管交易;接下来,我们将尽可能细心挖出每一个步骤,去探寻一下,它是如何构建这三点的。

Transaction在这里,我们不详尽讲解交易发起者是如何发动一起交易的,我们必要讲解Sapling中的交易结构,如图所示:实质上,Sapling的交易结构内容好比这些,在这只是罗列出有Sapling特有的一些字段及适当的说明,原始的交易结构在协议说明书的7.1章节有详尽讲解。在Sapling中,交易由Spend Transfer和Output Transfer构成,分别对应藏匿的输出和藏匿的输入,而spendDescription和output Description是用来分别叙述Spend Transfer和Output Transfer的数据字段,它们被各自编码表示成vShieldSpend和vShieldOutput字段储存在交易结构中。

接下来,重点讲解vShieldSpend、vShieldOutput、valueBlance、bindingSig四个字段回应的内容。1. vShieldSpend一个vShiledSpend对应着一个SpendDescription,一个可信的SpendDescription回应一个note的有效地花费,它包括的内容如下图右图:cv:对Inpunote 的value的允诺,所谓允诺,只不过就是对v值的一种隐蔽,这种隐蔽是单向的,不可逆的,也不能假造;anchor:cm默克尔树根的六根,用作检验inputnote的不存在性及有效性;nullifier:note的唯一性标识,用来避免同一note被反复花费; rk:用作检验消费许可亲笔签名;zkproof:零科学知识证据,在不透漏适当隐私的情况下,证明note的有效性、花费note的权力、隐私地址的有效性 spendAuthSig:用私钥对spendDescription亲笔签名,对note的花费展开许可2. vShieldOutput同理,一个vShiledOutput对应一个OutputDescription,一个可信的OutputDescription回应产生的新note的有效性,它包括的内容如下图右图: cv:对outputnote 的 value的允诺,亦符合单向性,不能假造性;cmu:对outputnote的允诺,允诺的数学形式是曲线上的一个点(u,v),cmu为点的u座标;ephemeralKey:临时公钥,用作计算出来解密密钥 encCiphertext:noteplaint的密文,noteplaint是note的具体内容;outCiphertext:用来计算出来分享密钥的信息密文,能用来完全恢复noteplaint信息 zkproof:零科学知识证据,在不透漏任何隐私的情况下,证明新的分解Note的有效性 3. valueBlancevalueBalance回应此transparent value pool的变化量,由Spend Transfer的v总和乘以Output Transferd的v的总和得出结论。

当valueBalance 为正数时,回应从Sapling value pool移往valueBalance至transparent value pool,如果为负数,则继续执行忽略的操作者。valueBalance将在bindingSig中,用作检验交易的balance 属性。4. bindingSig在Sapling中,bingingSig充分发挥两个起到。

第一,确保了交易的balance属性;第二,利用计算出来输出和输入note cv的随机数rcv,来分解亲笔签名私钥,避免outputDescription被攻击者展开纠错反击(spendDescription的防纠错反击由spendAuthSig来确保)Zk-proof and Signature在Sapling中,交易者总共要分解两个zkproof(spend zkproofoutput zkproof)和两个亲笔签名(spendAuthSigbindingSig)。下面逐一讲解。

1. spend zk-proofspend zkproof 主要是构建了在不曝露任何隐私信息的场景下,去证明txsender有权力去花费一些note,并且这些note都是有效地的。输出分成两个部分,一个是primary input, 一个是Auxiliary input。primary input是公开发表的输出信息,Auxiliary input是隐私的输出信息,只有txsender告诉。


本文关键词:jbo竞博官网

本文来源:jbo竞博官网-www.nervatek.com

全国统一热线

400-123-4657
+地址:上海市上海市上海区依路大楼221号
+传真:+86-123-4567
+邮箱:admin@youweb.com

友情链接

百度 搜狗 好搜
微信平台

微信平台

手机官网

手机官网