zkSNARKs through the lens of the cypherpunks
All cypherpunks have to start somewhere. As a crypto community member, you likely went through the learning curve most of us did: You heard about cryptocurrencies in the middle of a Bitcoin bull run. You then got your first few shares of a coin to make some profits… only to realize that there is a several miles long rabbit hole behind the “orange pill”, and an equally long list of terms used in the crypto “language”, such as “KYC”, “staking”, “pools”, and “zkSNARKs”.
To get baptized, as to speak, the crypto freshman has to learn the crypto “language”, go-to-places, several hard lessons (often in the form of monetary loss) and, most importantly, the values and philosophies behind everything this industry and community stand for.
In today’s article, we’ll dive deep into these philosophies, where they come from, and where the cutting edge is in Blockchain Land® (spoiler: zk-SNARKs). We’ll do this alongside one of the earliest cypherpunks, who we’re sure you’ll be excited to meet.
Cypherpunks and their relationship with privacy
The Cypherpunk Manifesto, published the 9th of March, 1993, by scientist Eric Hughes, starts as follows:
“Privacy is necessary for an open society in the electronic age.
Privacy is not secrecy. A private matter is something one doesn’t want the whole world to know, but a secret matter is something one doesn’t want anybody to know. Privacy is the power to selectively reveal oneself to the world.”
This short, yet powerful paragraph, summarizes a movement that started in the late 80s, long before zkSNARKs were even possible, dedicated to promote and develop strong cryptography and privacy-enhancing technologies to achieve social and political change.
For practical purposes, you can consider anyone that advocates for cryptography as a tool for social change as one of the cypherpunks.
However, in the early days, cypherpunks were predominantly members of the Cypherpunks Distributed Remailer (CDR) list, a network of independent mailing list nodes that, as you can imagine, was one of the very first decentralized mega-efforts belonging to the community of the cypherpunks.
The members of the cypherpunks mailing list discussed applied mathematics, computation, nuts-and-bolts creation of cryptographic protocols and, of course, argued over personal matters. This led to the creation of the Manifesto you see above and, eventually, to the development of many technologies reliant on cryptography aiming to enforce decentralized practices, one of them being Bitcoin.
And, as you can imagine, the Panther team has its fair share of cypherpunks
At this point, we’d like to introduce you to one of our dearest cypherpunks, as well as a household name for those in the know in the blockchain world: Our co-Founder, Anish Mohammed.
Anish, who is a Medical Doctor by profession (but has also spent time working on cryptocurrencies and drones because he doesn’t sleep), has been working in the security and cryptography fields as a researcher and consultant for the last 20 years. He started this path as a member of the micropayment systems in Ericsson HP Telecomm. He has since researched cryptographic algorithms and protocols at three different research groups, including Microsoft Research, advising and collaborating with banks and financial institutions such as AIB, HSBC, Lloyds and Zurich.
He was also an early advisor to Ripple and Adjoint and a reviewer of the Ethereum Orange paper, founding the UK Digital Currency Association. He has been involved in designing or auditing half a dozen blockchain protocols and more than a dozen distributed applications. He is an adjutant faculty at Harbour Space and the head of research at the Information Sciences Institute at SRH Berlin.
As cypherpunk as it gets.
Anish started conceptualizing Panther when working on his paper ‘The New Secret’, in which he examined the difference between secrecy in pre-Internet and current societies. In there, he also discusses asymmetries in the revealing of secrets and privacy disclosures that currently hold governments and powerful institutions on top of regular citizens. And, of course, he touches on, how technology can help steer the ship in the right direction.
This takes us (lead by Anish, of course) to the cutting edge of cryptography: zero-knowledge.
There is a typical cypherpunk conundrum that heavily relates to both the most important real world problems solved by cryptography and Anish’s paper:
Imagine that you just turned 18, 21, or whatever the legal drinking age is in your nation.
Well, we wouldn’t judge you if we found out that, with your brand-new government-issued ID, you went on to celebrate your birthday by going to the liquor store and buying your first-ever beer. You may have never thought of this but, by extending the oh-so-important piece of plastic to the clerk to showcase that you’re of legal age, you are, simultaneously, disclosing your address, date of birth, name, etc.
Depending on who you are, in this context, this might or might not be a problem. Although, if you were, for example, famous, it could trigger a potentially dangerous reveal of critical private data. Otherwise, you’d be fine.
However, the cypherpunk argument is that to fully exercise your rights, if at any point you decided to receive a document that authenticates only one factor of your identity documentation instead of the whole picture (such as that you’re over 18 years old), you should be able to.
And, of course, that this should be enabled by technology as long as the technology to do so is available. Now, this type of selective disclosure is called a zero-knowledge proof (zkp) and, although computationally challenging to achieve, it helps to break the asymmetry described in Anish’s paper.
Goldwasser, Micali, and Rackoff first theorized about zero-knowledge proofs in 1989. Jens Groth published a paper on NIZK (Non Interactive Zero-Knowledge) in 2010, while Ben Sasson et al. produced a significant study that served as the theoretical foundation for the first Zcash proving system, where Zcash (ZEC) was the first blockchain to utilize this concept.
Cypherpunks also understand that we can’t expect governments, corporations, or other large faceless organizations to grant us privacy. For this reason, they have worked to develop zero-knowledge proofs that are permissionless and rely on decentralized systems. Hence the importance of these technologies for the cypherpunks (and the reason Anish holds the user-name zeroknowledge wherever possible!)
zk-SNARKs: Taking zero-knowledge proofs one step further
Let’s take our zero-knowledge protocols legal-age-card example a step further before putting it into the digital world.
Building upon the idea of zero-knowledge verification, there is a step forward where cryptography gets even more exciting.
As it turns out, there are two types of zkps:
- Interactive (as in our example); and
- Non-interactive.
Interactive zero-knowledge proofs require a prover and a verifier to work together (the verifier requests to see the ID, the prover chooses whether to do so, and the verifier verifies).
However, non-interactive proofs allow a prover to generate a proof and publish it. This proof can be validated by any verifier that knows how to validate it at any time with no further interaction. Let’s say that, instead of having a card that you need to take out each time you visit a kiosk, you receive a unique bracelet, which someone in the know can verify at a glance.
Achieving this digitally is tricky because now you have to make the bracelet non-transferable and impossible to falsify, as well as decide which and how you empower validators.
For this to happen in a decentralized digital world, as Panther intends to achieve with Trust Providers, both the prover and the verifier have to exist within a system and play by its rules. In Panther’s case, this works by having users request a proof from a Trust Provider (TP) within the protocol, with the TP issuing it with the specific disclosures the verifier needs to confirm. Additionally, the zkp makes it so that each user can select which of their particular proofs can be seen by whom, granting the confidentiality of their secret inputs.
As you can imagine, one of the advantages of non-interactive proofs is that you could have them be as specific as possible: You could prove, for example, that you’re over 18, a citizen of the Cypriot city of Nicosia, have a driving license, have completed a minimum of six university courses, have over $700 in your bank account, never had COVID, etc., all in one proof. This is thanks to the ultimate type of non-interactive zk proof system, which are called zk-SNARKs, which stands for zero knowledge Succinct Non-interactive Argument of Knowledge (note that it is possible to have non-zk SNARKS, but we won’t cover those here).
zk-SNARKs are:
Succinct: The size of the proof in zk-SNARKs is small compared to the size of the statement being proved. We covered this above.
Non-interactive: zkSNARKs do not require rounds of interaction between the prover and verifier except for a negligibly small probability.
Argument: A weaker notion of a mathematical proof where we assume the prover has bounded computational resources.For obvious reasons, this makes zkSNARKs ideal for blockchains.
Knowledge: The prover cannot construct a proof without knowing a particular witness for the statement, This would be the equivalent of knowing “what to look for”, or “what to decode”. For blockchains, this zk-SNARK feature is incredibly important, since we want the information to remain secure and private.
The role of zk-SNARKs in the Panther Protocol
As you may have probably gathered through this article and our previous materials, And one of our goals is to enable users to use zkSNARKs to selectively disclose proofs of their identity (which they obtain via Trust Providers) to Service Providers.
zk-SNARKs are a novel form of zero knowledge cryptography, and zero-knowledge cryptography is Panther’s heart and soul. As Anish conceptualized back in the day, we attempt to use zkSNARK-enables technology to give users total control of who and how they make disclosures to.
Thanks to the way zk-SNARKs work , users also have a chance to selectively disclose facts that need no third-party Trust Providers, such as their DeFi history. This will enable Panther users to showcase their activity to law enforcement, each other, or Service Providers that, for any reason, request it.
However, this is not the only way Panther leverages zkSNARKs. In fact, they are incredibly important to eliminate traceability within transactions, which is called a shielded transaction. And, since transactions are to a degree what makes the blockchain world go round, when Panther’s fully deployed, cross-chain private bridging and swaps will also be shielded using zk-SNARKs.
At Panther, aim to give users the capability to transact freely, knowing that they’re in control of their own information, at all stages of their DeFi experience, through the powerful capabilities of zk-SNARKs..
And… this is it for today!
It has been quite a ride, and we just gave you a lot to process. We hope that his article has helped you understand this groundbreaking, complex technology of zkSNARKs a bit better. Our aim is to get you a scoop of what happens within our cryptographers’ minds and to get you as excited as we are with this technology.
Riddle: Want to keep learning about zk-SNARKS in blockchain scalability?
Hi all! This is the Panther team speaking. While revisiting and updating this article, we found that we could give the nerdiest of you all some extra insights onto how to learn more about this technology and its role in one of the most popular blockchains out there. To do this, we will present you with a couple of paragraphs on the role of zk-SNARKs in blockchain scalability Can you understand what they saying? If you don’t, follow the sources cited in the article until you’re able to!
On the role of zero-knowledge SNARKS in Ethereum scalability.
Developers have already begun incorporating zk-SNARKs into Ethereum, not for privacy but for scalability reasons. Not only simple transactions but all types of smart-contracts can benefit from the application of zk-SNARKs for scalability.
Ethereum also added support for efficient ECC-based cryptographic primitives inside zk-SNARKs. Elliptic Curve Cryptography (ECC) is a potent tool with numerous uses in the cryptography and the blockchain space in general, which means more efficient hash functions and digital signature schemes.
It has been proven that a zk-SNARK-based proof can be constructed for any NP-Complete computational problem. In other words, any computational problem whose solution is difficult to compute, but easy to verify its correctness — most we deal with — is compatible with zk-SNARKs. Some believe that zk-SNARKS require a trusted setup, but this is an outdated misconception.
Let us know how you fared in this challenge (and if you want a new one!) by reaching out to us in the social media links below!
About Panther
Panther is a decentralized protocol that enables interoperable privacy in DeFi using zero-knowledge proofs.
Users can mint fully-collateralized, composable tokens called zAssets, which can be used to execute private, trusted DeFi transactions across multiple blockchains.
Panther helps investors protect their personal financial data and trading strategies, and provides financial institutions with a clear path to compliantly participate in DeFi.