What’s Next for Blockchain? Wider Adoption of Privacy Technologies

True privacy in blockchain and transactions in general is something to aspire to, even more so because we’re dealing with sensitive information like financial records. This means removing as much data as possible from the process.


One of the ways in which the industry is trying to accomplish this is through privacy technologies like zero-knowledge cryptography. These technologies have plenty of real-world potential and are expected to experience a wider adoption, as in the crypto-world, so in the mainstream.

What is zero-knowledge cryptography?

 
Zero-knowledge proofs (ZKP) are cryptographic primitives that provide the basis to solve privacy and scalability challenges in blockchain technologies. ZKP employs mathematical proofs about the truth of a statement that does not reveal any additional information about it. For example, a prover can generate a proof of the knowledge of the private key that corresponds to a key in a list of public keys, without revealing either the private key or the public key to which it corresponds. This makes it possible for different parties to transact without disclosing their specific identities or transferred amounts. An example of practical implementation of this concept is Zcash, a digital currency and the first project to implement zk-SNARKs - a new form of zero-knowledge cryptography.
 
The term “zero-knowledge” stems from the fact that “zero” information is revealed in the communication. In other words, it is a way to prove that you know an answer without revealing the answer. However, the receiving party (the Verifier) has the “proof” that the sending party (the Prover) possessed the concerned information.
 
As an example, let’s say you need to prove to someone that you’re older than 18. Zero-knowledge proofs enable you to do so without letting the other party know your actual birth date.
 
Another example is Yao’s Millionaires’ Problem. In this multi-party computational problem, two millionaires are trying to find out if they have the same amount of money without revealing to each other its exact quantity. Again, zero-knowledge proofs would be an efficient solution to this problem.
 
Here you can find more simple explanations of zero-knowledge proofs, simple enough for even children to understand.
 
This approach takes the security of your online communications and transactions to a whole new level, especially in e-commerce and data mining which often require securely comparing confidential numbers.
 

Non-interactive Zero-knowledge Proofs: zk-SNARK and zk-STARK

 
Non-interactive zero-knowledge proofs are a type of zero-knowledge proofs in which the prover can generate a proof without interacting with the verifier. There are different types of non-interactive zero-knowledge proofs.
 
One of them is Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (zk-SNARK), which is the more studied one of the two thanks to their widespread usage and the community’s confidence in their efficiency. That said, they rely on a polynomial for determining certain computations in the algorithm, which is a significant drawback.
 
It only takes someone to know the polynomial’s entire factorization to render it trivial for that person to make proofs for the specific zk-SNARKs to produce false statements. This means that no one should know the polynomial’s full factorization.
 
One of the ways to accomplish this is by publicly opening up the polynomial creation process. For instance, Zcash did this with its last fork when it updated its polynomial and carried out a public polynomial creation in the so-called Powers of Tau ceremony.
 
If every person submits one factor privately and then destroys that information properly, then no single entity will possess the knowledge of the entire factorization. This part is termed the “trusted setup” of a zk-SNARK.
 
Zero-knowledge Scalable Transparent Argument of Knowledge (zk-STARK), on the other hand, uses somewhat different mathematics and doesn't require a trusted setup. They do, however, need a lot of space (more than SNARKs), which is a significant disadvantage due to blockchains already being limited in this area.
 

Plenty of platforms are already deploying zero-knowledge proofs.

 
For example, Starkware Industries is utilizing STARK technology toward improving scalability and privacy on Ethereum. Aztec Protocol is developing a zero-knowledge privacy protocol and decentralized exchange which is already live on the Ethereum mainnet. Secret Network is developing ‘secret contracts’ to facilitate computation over encrypted data.
 
Finally, Zether has introduced a confidential and anonymous payment mechanism on blockchains with the account model resembling Ethereum’s. The transaction amounts are hidden, as are the transaction sender and receiver.
 

Mixers

 
Zero-knowledge proofs are an alternative to an older technology called Mixers. This technology works a bit differently, obfuscating data by making it confusing (or even empirically impossible) to correlate.
 
Mixers only work with transactions happening at that moment by deploying a set of fake transactions (Mix-ins) together with several actual transactions. It then sums all of them up to approximately the same amount of ETH units. Let’s say you send a transaction of 4 ETH. You will need to wait for one or two other people to also send 4 ETH to scramble all three transactions together.
 
Mixers send the outputs to a batch of addresses with lower quantities which sum up to your original number of units. This makes it too complicated to discern who sent what and where, as you’re actively trying to make transactions appear similar. The more people use this system at that specific moment, the more efficient it is.
 
Examples of mixers include Onion Mixer and Tornado, which both use zk-SNARKs.
 

What does one of the blockchain’s most notable figures think about this technology?

 
Vitalik Buterin, one of the co-founders of Ethereum, said in 2019 that he believes it is possible to stimulate the creation of easy-to-use, decentralized mixers that would target privacy-preserving transfer of small amounts of ETH. This way, it would be possible to send gas payments between accounts without linking them.
 
However, according to him, the major challenge with smart contract mixers in transactions is that the receiving party still has to have ETH to pay for gas. While this allows it to submit the proof to receive their funds, sending that gas presents a privacy leak.
 
Buterin believes this problem can be solved with the layer-2 protocol, where a user broadcasts their proof over something like Whisper. A specialized set of nodes accepts these proofs, and includes them into a transaction and pays for the gas, as well as collecting the fee from the recipient. This protocol would have to be “specced out”, standardized, and implemented.
 
In terms of user experience, the inventor of Ethereum also believes that it is possible to make it a default that a user uses a separate account for every dapp, as long as two issues are resolved:
  • The first is address generation. Namely, wallet software could remain stateless, allowing users to easily export and import their keys between wallets. This would imply using “some deterministic scheme like privkey_for_dapp = hash(master_key + dapp_id)”. But then, he wonders what the dapp_id is and how this would work for multi-contract dapps.
  • The second issue is dapp interaction, which includes the most common category - using ERC20 tokens inside another dapp. Buterin isn’t sure which workflow would achieve this.
For example, to use KNC (Kyber Network Crystal) on Uniswap, he asks would the user first transfer KNC from their “Kyber account” to their “Uniswap account” and then do whatever they wanted to do with Uniswap, or perhaps something different.
 
Ideally, from a user-experience point of view, it would still feel like the user makes one operation. The user experience of dapps that requires users to sign three transactions in a row isn’t very convenient.
 

Final words

 
Although these privacy technologies are obviously still in their infancy and thus experiencing a lot of growing pains, they’re nevertheless here. The people involved in their development are working hard to correct their pain points and deliver the true privacy and anonymity blockchain users seek.
 
Once these problems are solved, they will be ready for full adoption on a wider scale. Judging by the speed at which progress is happening, this may start happening sooner rather than later.
 
Want to learn more about the future of blockchain technologies? Check our blog or give our Blockchain Innovators podcast a listen (or why not both?).