Please describe your proposed solution.
Tomorrow, the web will become private-by-default.
Over the past decade, new technologies to protect user data have become practical. For the first time, users have a choice. They are not constrained to giving up control of their data, and data breaches no longer have to be an inevitable price to pay. And for the first time, web services can use privacy-preserving technologies to protect users while expanding the possibilities of their web experience*.
*excerpt from Aleo.org site
What's the Buzz in Zero-Knowledge Proof (zk)?
The applications of zero-knowledge (zk) crypto protocols in the blockchain can be far-reaching and game-changing especially in the fields of privacy and security. This would help address data breach concerns that are costing industries billions of dollars.
Thus, it has brought a lot of buzz and excitement in the tech space, bringing in huge investments from VCs and the likes. Aleo.org for example has recently raised $200M, another is zkSync which has now gathered $50M.
What is ZK?
Zero-knowledge (zk) techniques are mathematical methods used to verify things without sharing or revealing underlying data. Zero-knowledge protocols are probabilistic assessments, which means they don't prove something with complete certainty. Instead, they provide small pieces of unlinkable information that can accumulate to show that the validity of an assertion is overwhelmingly probable.
In simpler explanation, it's like "I can't tell you the secret, but I can prove to you that I know the secret."
ZK in Cardano
Aleo makes it easy to build private applications for which the zk-proofs are saved in their own chain. <u>To build zk enabled apps in Cardano, however, one still has to build its own zk module!</u> This requires not only extensive knowledge in zero-knowledge, but one also has to learn and be comfortable with the Rust language since most good zk libraries use Rust.
Proposed Project: Know Zero
Our proposed project is called Know Zero. We want to make <u>building zk apps easy for developers in Cardano</u> by eliminating the hard stuff. No need to learn so much of the intricacies of zk. No need to learn Rust language.
To do this, we will build <u>a zk-enabled module complete with APIs</u> so any developers can just integrate with the services through these endpoints. Devs can just focus on their apps front end development and quickly generate zk-proofs that are also integrated on the Cardano blockchain.
So as not to reinvent the wheel, we'll use zkSNARK (see below) on top of other zk-libraries and our own concoction of zk, privacy, and secure protocols to build Know Zero. We will also tap into our 5 years of insights and expertise in building a privacy-centric health platform.
<u>ZK Snarks</u>
zk-SNARK stands for “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,” and refers to a proof construction where one can prove possession of certain information, e.g. a secret key, without revealing that information, and without any interaction between the prover and verifier.
<u>ZEXE Protocol</u>
Zexe is a new blockchain design that enables both data privacy and function privacy in addition to succinctness. In other words, not only can transactions be generated offline and efficiently verified on-chain, the time needed to verify the transaction is independent of the time required to do the offline computation to which the prover attests to. It achieves this by introducing a new cryptographic primitive called a Decentralized Private Computation (DPC).
Javascript SDK
To ease up development even further, we will provide SDK for Javascript devs as well. They can just focus on building zk apps without having to learn extra stuff.
Please describe how your proposed solution will address the Challenge that you have submitted it in.
Specifically, tell me how your proposed Private Applications API will drive more adoption to Cardano ecosystem?
With the available APIs, developers will be encouraged to easily develop private applications without having to learn the nitty gritty of zero-knowledge proof protocols. In addition, they wouldn't have to learn Rust language since most of the zk libraries now are created using this.
This makes it attractive and easy for developers to build zk apps by decreasing, if not eliminate, the learning curve to do so. And as more private applications are available, these could also attract further more users to their apps, thus increasing more usage of the Cardano blockchain.
Is the usage of Zero-Knowledge gaining traction in general?
Yes, ZK is a hot item now in the web 3.0 world. As mentioned in this ZDNet article, Zero-knowledge proofs could play a major role in the future of Web3, DeFi and Metaverse. Thus, it will be great if there will be ZK APIs available in Cardano.
What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?
Experienced Team
The team has built a similar zk module for healthcare so there are no challenges or blockings anticipated. We were able to overcome them already before when we built a similar module.
The probable challenge is the timeline of activities that will be set. Some allowance should be provided to consider external factors that are outside of the team's control.
Product Built on ZK
The team has developed Nightingale, which has a ZK module built-in, see details here. This is a part of the Hippocrades Healthcare Platform, some modules of which have been funded in Catalyst as well.