Historically, privacy and scalability in the blockchain space have existed in an inverse.
So, how can developers and users ensure their privacy and security while maintaining the scalability provided by Layer 1 blockchains?
Introducing Zero-Knowledge Proofs.
1/x
This thread is part of a series of threads explaining all things Zero-Knowledge Proofs.
If you are completely new to the topic, I would recommend checking out my prior thread on Zero-Knowledge Proof basics before reading this to gain a surface-level understanding.
2/x
twitter.com/MarbiusC/status/1585467988802555904
The idea of protecting privacy in the space is not new.
Blockchains such as ZCash and Monero (both utilizing ZKPs) were created with specifically for privacy. Though these blockchains provide privacy, they lack scalability and support for web3 applications.
4/x
L1 chains (i.e. ETH & SOL) offer fast speeds and scalability, but this comes at a the cost of privacy:
Any transaction a user has ever made across multiple wallet addresses can be linked together with ease, compromising privacy and security.
5/x
This transactional paper trail via public ledger can have numerous consequences.
To name a few:
For individuals, the possibility of exchange doxxing.
6/x
Businesses transacting with cryptocurrencies risk entire supply chain (including vendors, COGS, etc.) becoming readily available for competitors.
Employers paying employees in cryptocurrencies risk an HR nightmare if coworkers see variable pay for the same jobs.
7/x
For blockchains to gain the mass adoption everyone is (very) patiently waiting for, transactions must evolve to support scalable privacy.
Thus, how can this inverse between scalability and privacy be mended?
8/x
One notable and widely used privacy application built on the Ethereum that allows users to break on-chain links to wallet addresses is Tornado Cash.
Though no longer viable (recent sanctioning), the functionality of Tornado Cash is still interesting to look into ππΌ
9/x
Tornado Cash leverages smart contracts to act as a coin mixer, enabling users to break on-chain transaction links and enhance privacy between deposit and withdrawal addresses, making it difficult to know a user's identity.
Think of a bankβs safety deposit room...
10/x
Tornado Cash allows users to store coins in a βboxβ that only they are able to retrieve. A user generates a secret via zk-SNARKs, sent as a hash and a deposit, that can later be withdrawn from a different address if proof of knowledge of this secret is presented.
11/x
If there is a large number of people metaphorically going in and out of this room, there is no way to tell who has access to which boxes, or addresses (though there are ways for this to be deanonymized)
12/x
Although Tornado Cash, and similar applications, can mask some transactions, it still does not provide a perfect scalable solution to on-chain privacy.
A real scalable solution to on-chain privacy is through ZK Rollups.
13/x
To conclude, applications of zero-knowledge proofs are enabling smart contract capable decentralized platforms security and scalability, all while maintaining a users privacy.
ZK Proofs are continuosuly growing and are an important subject to grasp as the space evolves.
16/x