Why Zero-Knowledge Proofs

Emotiq
Emotiq
Published in
5 min readApr 2, 2018

We prefer to keep our personal finances private. We don’t talk openly about salaries, expenditures, how well off we are or how much debt we carry. The information contained in a person’s bank statement can reveal a lot about that person’s lifestyle, behaviour, priorities, weaknesses, whereabouts at certain times, and bad habits. Like our bank statements, the details of our blockchain transactions should be kept private.

Most public blockchains, such as Bitcoin and Ethereum, allow anybody to peer inside any blockchain address (the equivalent of bank accounts on the blockchain) and see the current balance and a full transaction history. Imagine if your bank allowed anybody to log in to your account from home and snoop through all of your transactions, with your identity being the only piece of information kept hidden. You’d change banks pretty quickly!

The only protection afforded by most blockchains is the fact you are generally anonymous. Once that thin veil of anonymity is torn — for example, through a moment of carelessness, a transfer to or from an address that can pinpoint you, or through various blockchain analysis techniques — your anonymity and privacy is lost. Furthermore, your anonymity is almost always an illusion, as the very act of funding the address in the first place (i.e., purchasing Bitcoin via a bank transfer) reveals your identity to somebody who you must then trust not to reveal that information.

Previous attempts…

There have been attempts to solve the problems of anonymity (hiding your identity) and privacy (hiding your activity). Dash, for example, uses a form of anonymization that combines transactions to make it impossible to conclusively determine exactly who sent certain coins to certain recipients. But the content of Dash wallets can still be viewed in much the same way as Bitcoin and Ethereum wallets, making this a partial solution at best. Monero, a prominent privacy-based blockchain, relies on a complicated but very thorough process to hide transaction details (sender, receiver, amount transacted), providing a high level of privacy but at the expense of efficiency and size. Monero, perhaps through no fault of its own, also has a reputation for being associated with darkweb marketplaces, making it an unattractive choice for businesses.

ZCash uses more efficient zero-knowledge proofs to ensure that the sender, recipient, and amount of each transaction remain private, but the underlying blockchain is based upon increasingly archaic Bitcoin architecture.

What needs to change?

Dash, Monero, and ZCash are perfectly acceptable solutions for those seeking privacy for simple transactions, and nothing else. But blockchain users are looking for more. A lack of speed and an inability to scale are issues that consumers are no longer willing to tolerate. The aforementioned blockchains all rely on Proof-of-Work to generate consensus, and this consequently limits scalability and speed. Dash and ZCash can only handle around thirty transactions per second. Monero has a higher capacity, but takes twenty minutes to confirm transactions. Clearly, each is impractical for enterprise use.

At Emotiq, we believe that users should not be forced to compromise between privacy, scalability, and blockchain features. We offer state-of-the-art privacy through the very latest in zero-knowledge proofs called Bulletproofs (developed by researchers at Stanford University, UCL, and Blockstream), combined with state-of-the-art scalability via sharding, in addition to supporting smart contracts.

But what are zero-knowledge proofs?

A zero-knowledge proof (ZKP) is a cryptographic technique whereby someone can conclusively prove to somebody else that they know a piece of information (for example, the contents of a blockchain address, or the precise details of a transaction) without revealing specifically what the hidden information is.

Consider the following example. Imagine you have two playing cards, and you want to prove to your friend, Charlotte, that they are different suits without her ever looking at the cards and finding out what suit they are. The process is extremely simple. You hand the cards to Charlotte, face down so that they appear identical, and ask her to put them behind her back, one in each hand. She can either keep them in those same hands, or she can switch them. Once she has done that, ask her to show you the card in her left hand (keeping it facing away from her). Because you know which card was originally in which hand, you can tell her whether she’s switched them or not. Of course, with this first attempt, you have a one in two chance of guessing correctly, which is hardly enough for her to believe that the cards are different.

So repeat the process; this time, the cumulative chance of guessing correctly twice in a row would be one in four. Continuing the process over many iterations will reduce the probability of you having guessed the sequence of switches and non-switches to an impossibly small number, and she will now know that the cards are in fact different without her having ever seen the faces of the cards.

How is this useful to a blockchain?

Take, for instance, the matter of keeping a transaction private. Typically, a transaction is validated by the fact that all nodes can see the details and confirm the transaction independently for themselves. For example, if Alice was sending 50 ETH to Bob, each node in the Ethereum network would be able to see that Alice did indeed have 50 ETH, that 50 ETH was sent to Bob, and that Alice and Bob have been debited and credited accordingly. The beauty of ZKPs, however, is that it allows Emotiq to hide the amount of the transaction, but still conclusively prove to all nodes that the transaction was valid without ever revealing this information to prying eyes. The only information revealed is that a valid transaction occurred, and the finer details remain known only to the sender and recipient. The integrity of the Emotiq blockchain does not come at the expense of the privacy of our users, nor does privacy come at the expense of blockchain performance.

Slow and cumbersome privacy-based blockchains already exist. Another isn’t needed. What is needed is a blockchain that is both scalable and private, and which can meet the demands of the next generation of businesses built upon blockchain technology. That blockchain is Emotiq. And it’s time you changed banks.

➤ Join our Telegram community

➤ Follow us on Twitter

➤ Visit our website

--

--