Author

Topic: Hidden Zero Knowledge Proof of Hcash (Read 102 times)

newbie
Activity: 44
Merit: 0
December 13, 2017, 02:07:37 AM
#1
Hidden zero knowledge proof (also known as “zk-SNARK”) is the core technology to realize the anonymous feature of Zcash. The definition of hidden zero knowledge is that the certifier can make the verifier believe a certain claim is true without telling the verifier any useful information.
For example:
A wants to prove to B that he has the key of a certain room, and it is assumed that this room can only be opened by this key. Here are two methods to prove that A has the key.

A gives the key to B, and then B uses this key to open the door to approve that A has the right key of this room.
B is sure that there is an object in this room, and then A uses the key to open the door and get the object out to B; thus approving that A has the key.
The method 2 belongs to zero knowledge proof. The good side is that B did not see the key from the beginning to the end; therefore leakage of the key is avoided.
A has the public key of B. A hasn’t seen B before, but B has seen the photo of A. One day, these two people meet each other by accident, and B recognizes A, but A is not sure that whether this person is B or not. So B has to prove that he is B. There are also two methods.

B gives the private key to A, and A uses the private key to encrypt a certain data, and then uses B’s public key to decrypt. If this can be done successfully, it proves that the other person is B.
A gives a random value, and B uses the private key to encrypt it. Then B gives the encrypted value to A. A uses the public key of B to decrypt, if the original value can be gained, it proves that the other person is B.

Method 2 belongs to zero knowledge proof.

There is a U-shape corridor, the entrance and the exit of which are very close (both are within visual range). However, there is a door in the corridor that can only be opened by a key. A has to prove to B that he has the key to that door. Using zero knowledge proof, B watches A to walk into the corridor through entrance, and then walk out from the exit. B does not get any information about this key, but it proves that A definitely has the key.

In short, zero knowledge proof
is able to prove that the cost is less than the account balance without telling others the account balance and the transaction expenditure, and
is able to let the payee receive the transfer without publicize the account address.

Hcash integrated instant messaging function in its client. It can use dark addresses to transfer tokens cross platforms; it also can utilize zero knowledge proof to achieve high communication privacy in day-to-day P2P communication; what’s more, it is able to encrypt communication across platforms, such as the communication from Hcash to Byteball. Therefore, Hcash realized a complete privacy protection for transaction account address, transaction amount, and account balance.
Jump to: