ZCash介绍|ZCash运作原理是什么?

ZCash介绍

在讲解ZCash前让我们复习一下Bitcoin 是如何运作的,因为两者间的概念差不多。

比特币的UTXO(Unspent Transaction Output)

UTXO就是进进出出

  1. 一个比特币交易接受数个输入(Transaction Input, TI),同时产生数个输出(Transaction Output, TO)。

  2. TI, TO是相对特定交易而言的。
    因为一个交易的TO可能是另一个交易的TI,换句话说就是一个将收到的钱再花出去的过程。
    在还没花出去前,这些钱是Unspent的状态,尚未成为下一笔交易的TI的TO称为UTXO(Unspent Transaction Output),此为比特币交易的基本单位。

  3. 交易付款方需证明自己有权使用此UTXO。
    如何证明?要提供私钥进行验证,因为每个TO都会指定收款人的公钥来保证只有收款人可以继续消费此TO。若不太了解公钥、私钥的观念应该算是走错棚了,可以先去补一下非对称式加密(Asymmetric Encryption)。

ZCash运作原理

ZCash的交易模型基本上与比特币相同,但是其中的UTXO被note所代替,note为ZCash的基本交易单位。一个交易的输入和输出都是数个note,我们后面将以note=(PK, v, r)来表示note,PK为公钥(Public Key)、v是金额(Value)、r是序列号(Random Serial Number)。

ZCash的节点会包含两个集合,每个集合都包含:

  1. Note Commitment (签发通知)
    交易的输出,表示一张新的note被发出,一张有效的commitment即为一张note的存在证明,此commitment为hash(note),因此可以确保他人不知道所有者、金额。

  2. Nullifier Commitment (废止通知)
    交易的输入,表示要将一张note花掉了,一个nullifier对应唯一的commitment,为了要知道是哪个commitment,nullifier为hash(r)。现在大家应该知道为什么需要序列号了吧!

透过commitment与nullifier,交易的双方从路人皆知变成双方的心照不宣。

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