ZCash的介绍、ZCash的工作原理

在解释ZCash之前,让我们复习一下Bitcoin是如何工作的。因为两者的概念差别不大。 比特币的Unspent Transaction Output UTXO入退场 一个比特币交易接受多个输入(Transaction Input,TI),同时生成多个输出(Transaction Output,TO) TI,TO对特定的交易说。 一个交易的TO可能是另一个交易的TI,换句话说就是把收到的钱又花掉的过程。 在这之前,这些钱是Unspent的状态,没有成为下一交易的TI的TO被称为UTXO(Unspent Transaction Output),这是比特币交易的基本单位。 您必须证明您有权使用此UTXO。 你怎么证明。每个TO指定收件人的公钥,并提供私钥以验证,以确保只有收件人才能继续消费该TO。如果你不太了解公钥、私钥的想法,你应该会走错架子,所以你可以先弥补不对称加密(Asymmetric Encryption) ZCash的交易模式基本上与比特币相同,但UTXO被note取代,note是ZCash的基本交易单位。一个事务的输入输出都是几个note,我们随后用note=(PK,v,r)表示note,PK是公钥(Public Key),v是金额(Value),r是序列号(Random Serial Number) ZCash的节点包含两个集合:。 签名通知 事务输出发出新的note,有效的commitment是note的存在证明,该commitment是hash(note),因此可以确保他人不知道所有者、金额。 取消通知 交易的输入表示使用了一张note,一个nullifier对应于唯一的commitment,为了知道是哪个commitment,nullifier是hash(r)你现在知道为什嚒需要序列号了吧。 通过commitment和nullifier,交易的双方从每个人都知道的事情变成了双方心里都不明白的事情。 这是Zcash网站上的例子,从比较高级别的观点来说明他们的屏蔽交易(Shielding Transaction) 首先,Alice想向鲍勃发送ZEC(ZCash发行的令牌),Alice可以控制PK1(她的公钥),鲍勃可以控制PK2(他的公钥)与比特币相比,Zcash的一个区别是生成一个零知识证书来证明Alice有权使用Note1。 Alice随机选择序列号(r),定义新Note4。 她把Note4发给鲍勃。 Alice通过向所有节点发送空值,禁用Note1。 Alice将新Note4的hash发送给所有节点 Alice发布了一个节点,证明Note1的Hash存在于Hash集合中,sk1是PK1的私钥,hash(r)是Note1的空值。 为了发送ZEC,组合交易的输入输出的记述来制作交易。 事务处理输入如下: cv提交输入的值。cv为commit value anchor:commitment tree的merkle tree root。这里不说明 note-rk(步骤1-2、 nullifier-丢弃以防止双重消费(步骤3、 zkproof-证明(步骤5、 sendAuthSig-许可证支出。 事务输出如下:。 cv-value提交输出的值。 手动器-输出上一块的保存树状态。Sapling tree的概念有兴趣可以查,有点像块链。 厘米-提交。cm是note commitment的缩写。 outCiphertext:公钥所有者都可以打开note。 zkproof–证明。 这就是ZCash的交易流程。 郑重声明:本文版权归原作者所有,转载文章如作者信息标记有误,请先联系我们修改或删除,谢谢。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享