Is it possible to hide the sender or receiver of transactions by "zk-SNARK" or "Bulletproofs"?

Is it possible to hide the sender or receiver of transactions by "zk-SNARK" or "Bulletproofs"?

To support the user privacy, is it possible to hide the sender address or receiver address of transactions by "zk-SNARK" or "Bulletproofs" ? Or we’ll be able only to hide the value that is mapped to an address ?

Assume the following mapping:

mapping (address => bytes32) userData;

Normally, using non-interactive zero-knowledge proofs (like "zk-SNARK" or "Bulletproofs"), we are able to hide the value that is mapped to an address (i.e. userData) as follows:

mapping (address => bytes32) userDataHash;

And then by zero-knowledge proofs, we can prove that if userDataHash meets a condition? For example, prove that an encrypted number is in a given range, without revealing anything else about the number.

However, assume that instead of Data, we want to hide sender of transaction (i.e. address). We want to keep confidentiality of the user/sender himself, instead of their data.

Is it possible ? And if yes, How ?

https://ift.tt/2MzuHND

Comments

Popular posts from this blog

What exactly is a block?

how a system based on a blockchain would deal with exponential growth of informations carried in it?

Do extra hop channels in a BOLT#11 invoice need to exist on chain?