Your Guide To Zero Knowledge Proofs in Fashion and Consumer Tech
Hey there, a big warm welcome to our new readers from Tommy, Dior, L’Oreal and many more who've hopped on board since my last post! If you're reading this and haven't subscribed yet, no sweat! Just hit that sign-up button, kick back, and who knows, you might even learn something cool.
You may have heard the terms “zero-knowledge proofs” or “zk-proofs” frequently throughout 2023. Not only are people gearing for airdrops from new zk scalability protocols, but the technology itself may be the missing piece in mainstream adoption of blockchain technology. In Vitalik’s words:
Perhaps the most powerful cryptographic technology to come out of the last decade is general-purpose succinct zero knowledge proofs, usually called zk-SNARKs ("zero knowledge succinct arguments of knowledge")
– Vitalik Buterin, Co-Founder, Ethereum
zk-Rollups 101
Ethereum = Scalability Issues
The main use of zero knowledge (zk) technology is scalability.
There are two main Ethereum scalability solutions: 1) Optimistic rollups and 2) zero-knowledge rollups (zk-rollups).
Both rollup types run (gas-intensive) computations but submit data onto the Ethereum (L1) blockchain.
In essence, optimistic rollups (e.g. Optimism and Arbitrum) are slower and assume transactions are valid by default but can be challenged while zk-rollups submit validity proofs (validity computed off-chain but submitted onto the main chain). At the core of these zk-rollup mechanism lies the interesting property that I’ll be examining here: privacy.
zk-Rollups = Privacy Preserving Scalability
So what do zk-rollups have to do with privacy. Instead of running computations on-chain they submit their validity proofs. At the core of this lie zk-SNARKs (alternatives are zk-STARKs and Bulletproofs which are outside the scope of this piece) which are cryptographic protocols that allow one party (the prover) to prove to another party (the verifier) that a certain secret statement is true, without revealing the secret statement itself.
(Funnily enough, I wrote about this technology in my Bachelor’s thesis already in 2019.)
Here’s a summary by Celo Academy:
In blockchain technology, zk-SNARKs are used to enable privacy and scalability. Using zk-SNARKs, it is possible to prove that a particular computation has been performed correctly without revealing any of the inputs or intermediate steps of the computation. This can be useful for verifying transactions on a blockchain, without revealing the transaction details of the entire network.
–Celo Academy
For a more practical example we turn to Consensys:
Suppose Bob is given a hash
H
of some value, and he wishes to have a proof that Alice knows the values
that hashes toH
. Normally Alice would prove this by givings
to Bob, after which Bob would compute the hash and check that it equalsH
.However, suppose Alice doesn’t want to reveal the value
s
to Bob but instead she just wants to prove that she knows the value. She can use a zk-SNARK for this.– Consensys
In a programming language it would look something like this:
function C(H, s) {
return (sha256(s) == x );
}
(Source: Consensys)
H = public hash
s = Secret value Alice doesn't want to reveal
sha256(s) = True or False.
If the function sha256(s) = True, then this proves to Bob that Alice knows the secret value s.
A key consequence of zk-SNARKs is that the customers can keep their private information private and on their local devices without sharing the actual secret with service providers. zk-SNARKs can be verified cheaply and quickly.
A caveat for zk-SNARKs is that they require a trusted setup (essentially setting up secret parameters).
One way to keep this process secret is to do what Zcash (a privacy coin that allows users to transfer fund on a public blockchain without revealing the participants or the amount transferred) team did:
Each participant separately generates one shard of the public key, which requires them to temporarily use a corresponding private key shard. They all combine their public key shards to generate the final public parameters, and then each deletes their private key shard.
– Electric Coin Co.
Vitalik has also written about various ways to conduct this setup process.
With the technicalities of the zk-rollups and SNARKs out of the way, we can focus on the three ways zk technology will change fashion forever.
Three Implications for Fashion
Zk technology’s privacy implications could greatly affect fashion brands and there various brand to consumer interactions.
Before we start the list, it is to be noted that zk-based verification doesn’t require blockchain, however, it can greatly enhance it. Moreover, the biggest strides in the zero-knowledge space have been largely thanks to Web3 research.
Implication #1: Verify Item's Origin Without Revealing Details
While the blockchain and NFTs can reflect the provenance of NFC-linked physical fashion or digital fashion, what if fashion labels, or labels in general, want to protect their proprietary supply chain data? Such lack of privacy on public blockchains is what has caused brands to focus on private ones.
Zk-proofs seem to solve this privacy issue. Using zk-SNARKs the label could prove it meets certain sustainability or ethical standards to the consumers, without having to reveal their proprietary exact sources or processes e.g. they could prove that diamonds in jewelry is conflict-free without revealing the mine that it came from or that the processing of materials like wool or polyester is done in a sustainable way.
As sustainability becomes more of a competitive edge for brands (for better or for worse) brands are less likely to share their means to getting to that sustainability, including supply chain data or supplier network.
Before we move forward, you may be asking how such qualitative information would be represented using zk-SNARKs that rely on mathematical proofs. While zk-SNARKs inherently work on numeric inputs, qualitative inputs can be represented e.g. using their hash values as illustrated below.
While blockchain isn't a requirement for zk-SNARKs, and private servers could be more suitable for interacting with more trivial secret inputs like color, blockchains offer a few advantages:
An immutable and decentralized repository of historical provenance e.g. an tamper-proof sustainability score database over time. While this may not be preferred by brands, it should be a net beneficial development for society.
Composability and integration between systems. For instance, on-chain green bonds that would use on-chain sustainability scores for DeFi loans.
The next question is: how do we obtain the sustainability data, and how can we trust the sustainability claims made by brands themselves? For instance, if a brand links a physical garment to an NFT, it cannot simply input its level of sustainability into the metadata of its own accord. Otherwise, any brand could claim that its physical products offer the highest level of sustainability. In other words, how can we push verified data, such as verified sustainability data, onto the blockchain. While IoT sensors-to-blockchain communication solutions have been proposed in the past, for now, we would still need to rely on trusted third parties like rating agencies or databases.
One potential solution to this lies in the data integration with zk-oracles that O(1) Labs, a Mina blockchain ecosystem partner, has introduced. These oracles allow zk-apps (applications built using zk technology) attest the validity of sensitive information without viewing any of it. As, Brett Carter, the product manager at O(1) Lab explains it through a retail banking example:
This is where zkOracles come in. They help solve this problem by adding an additional party to a web request to your bank — we call them a notary. In this case, the notary would be able to privately, without viewing any of your information, observe these web requests in your browser, for example, and sign them on behalf of your bank, just as a notary would in person. With really strong guarantees, this preserves the trust of that web request between you and your bank and that chain, such that you could use it, for example, to get a loan in DeFi.
– Brett Carter, Product Manager, O(1) Labs
Below I summarize how zk-SNARKs work on the Mina blockchain testnet.
Then again outputs are as good as our inputs and ESG data collection is still relatively poor. Currently ESG data databases include largely self-reported public reports on the company. These include, annual reports, company websites, NGO websites, stock exchange filings, CSR reports and news sources. However, the privacy guarantees provided by zk-proofs could lead to a crucial paradigm shift, i.e. making companies more willing to submit sensitive information that they were previously unwilling to share.
An example framework using zk-proofs and sustainability is visualized below.
In additional to sustainability, a similar framework could be applied to ethical labor standards as well. It is to be noted, however, that zk-oracles are still in development phase.
Regarding the improvement of data input quality, an interesting development in verifiable data from hardware comes from the Coalition for Content Provenance and Authenticity (C2PA). Spearheaded by Adobe, this coalition aims to combat fake news in the age of AI. Cameras enabled with C2PA technology create tamper-proof digital certificates that verify the authenticity of a photo from the hardware level (the camera) to the end consumer.
To this end Adobe is experimenting with a feature Content Credentials (in beta), which offers Metamask and NFT integration, seeks to solve the artwork provenance stage of digital art/photography.
Improving data inputs and keeping them private via zk-proofs could bring us one step closer to all kinds of provenance, including sustainability.
Implication #2: Personalize Experiences Without Accessing Personal Data
Fashion personalization has become increasingly important. There’s not doubt that the same hyper-personalization we see in media (TikTok, X) ads (Meta) will begin to apply to fashion offerings as well.
To do so, companies have to gather and store more data than ever before, especially if they want to optimize their machine learning models. Such data includes user details and preferences including body measurements, online behavior, feedback data, shopping history, lifestyle behavior and health information from wearables.
Using zk-SNARKs, customers could have their clothes personalized without revealing sensitive data. These cryptographic proofs allow a company to demonstrate that they've utilized customer preferences for personalization, without actually seeing or storing that data. In this way, zk-SNARKs enable the verifier to confirm that a customer's preference meets certain criteria, all without disclosing the specific preference.
Moreover, encryption methods like homomorphic encryption allow us to operate on encrypted data without ever decrypting it. This shifts companies from the framework of “do no harm” to “can’t do harm”, as they cannot leak sensitive data that they don’t possess or see.
While preference data like color doesn’t have to be private, increased integration of fashion and health (including wearables) will make privacy necessary. For instance, health data (e.g. heart or skin conditions) could determine what kind of clothes are recommended or fabrics used.
After all, on-chain identity systems that hold our private data may be closer than we think.
Implication #3: Rent High-End Fashion and Collect Private Collectibles Securely
One of the unique features of NFTs is the ability for anyone to view their transaction history, which includes the history of ownership and associated wallet addresses. While this transparency enhances provenance tracking, some high net worth individuals may be hesitant about having their wallet activities traced. This situation exposes them to potential risks, such as receiving scam NFTs or being subjected to copy trading. To address this concern, zk-proofs offer a solution that maintains the innovation of publicly verifiable asset provenance while also safeguarding the privacy of individuals. Crucially, it’s possible to set up zk-proofs in a way whereby anyone who wants can verify the proofs posted on the blockchain.
The wave of privacy coins from 2016 to roughly 2019 that included Zcash, was meant to address a similar problem i.e. to preserve anonymity in the world of ERC-20 tokens. It would makes sense this will be applied to ERC-721 (i.e. NFT) tokens as well. This would inevitably bring many on-the-fence participants into Web3.
On the other hand, for high-end fashion rentals, zk-SNARKs could be used to prove the renter's trustworthiness or past rental history without disclosing all personal details. A trustworthiness algorithm could include sensitive information like a credit score, past rental history, net worth, proof of membership in a community. See the sustainability metric visual for a rough idea of how this could work.
Should a Blockchain Be Used?
As mentioned, zk-SNARKs don’t require a blockchain to function. However, they could be particularly useful in scenarios where there is a high need for trust, transparency, data immutability, and privacy. The graphic below provides an indication of when a blockchain might be necessary.
Other zk Use Cases
Training a machine learning (ML) model on private data or proving that a ML model was trained on specific public data
Combatting deep fakes
Digital identity
KYC
Anonymous DAOs – proof of DAO participation without revealing participants
Proof of solvency (e.g. for exchanges)
Gaming – verified randomness, private proof of ownership
Zero knowledge taxes – calculating taxes without revealing each transaction
Proof of holding NFT without revealing self
Real estate – proving ownership without revealing owner
Rental – proving upstanding payment history without revealing details
DeFi – proving sufficient collateral without revealing assets and exact amounts, proving membership in staking pool
DAO auctions without revealing treasury size that would prevent Constitution DAO type debacles
zk-powered compliance – protocols like IronFish are working toward this
Conclusion
The best way to think about zk tech, and zk-SNARKs specifically, is to view it as an additional privacy layer in a specific system or customer-brand interaction.
Its strength doesn’t lie in verifying raw data inputs (e.g. water usage on a farm), instead it acts as a privacy layer in cases where companies or individuals don’t want to reveal sensitive or proprietary information.
Aas a second odder consequence, the privacy preserving nature of zk-proofs could actually induce more accurate data inputs from companies. Today, companies can often omit information that pertain to their proprietary information, however, zk tech could remove some of that vail.
While Layer 2 scalability solutions like Polygon zkEVM, ZKSync and the recently launched Linea by Consensys, are currently all the rage, we’re seeing further development of Layer 1 zk-blockchains such as Mina and Aleo. These should allow easier deployment of zk-apps which focus not only on scalability but privacy as well.
Share the Wealth
I invest countless hours researching every article to bring you the most valuable insights into Web3 fashion – all for free. If you know someone who would benefit from this knowledge, please share this newsletter with them. Just click the share button below! There’s a reason The Naked Collector has been recognized as the go-to source for Web3 fashion knowledge — they'll thank you later!
Author Bio
I focus on the cross-section of NFTs, crypto and fashion:
Naked Collector has been the top Web3 Fashion research/data source since 2021
6 years of experience in the crypto markets (crypto/DeFi/NFTs)
Part of 100+ NFT communities
For any enquiries: enquiries@nakedcollector.xyz or Twitter