Advanced technologies such as zero-knowledge proof systems require extensive knowledge from developers, making it difficult for businesses to adopt. Without a deep understanding of the underlying cryptographic logic, it is quite frankly impossible to implement correctly.
In continuation of our series: https://hackernoon.com/on-zero-knowledge-proofs-zkps-and-why-they-matter-gs5a30fz
“Any sufficiently advanced technology is equivalent to magic”, sir Arthur C. Clarke, science writer, undersea explorer, and co-writer for the 1968 film 2001: A Space Odyssey.
Reading the news, the attentive reader notices that demand for privacy-respecting technology and applications is growing. Even so, it is not an easy job to develop a privacy-respecting application.
Advanced technologies such as zero-knowledge proof systems require extensive knowledge from developers, making it difficult for businesses to adopt. Without a deep understanding of the underlying cryptographic logic, it is quite frankly impossible to implement correctly.
Up until now.
That is why we share our development progress and put in the effort to bring a little bit of magic of our own and help other projects to add a dash of zero-knowledge power with the help of our Dusk-Plonk library.
A quick recap on zero-knowledge
Zero-knowledge proofs allow you to prove that you know a ‘secret’, without actually telling and revealing the secret to the other, and is an extremely powerful tool for all kinds of solutions.
It could be used to prove your income is sufficient to rent the house of your dreams, without actually handing over sensitive information like copies of your ID and income statements.
As a matter of fact, the housing agency would only know that your income is indeed sufficient for this particular house. No more, no less. Yes. It’s close to magic. Yearning for a bit more information on zero-knowledge?
Read our article On zero-knowledge proofs and why they matter.
A quick recap on Plonk
In recent years, we have seen the surfacing of a wide variety of zero-knowledge proof systems: Bulletproofs, zk-STARKs, and zk-SNARKs with several subspecies like Groth16, Marlin, Sonic or Plonk.
For us, Plonk is the chosen one, as it comes with some crucial benefits. It is safe as can be, thanks to an updatable reference string. It is fast where it matters; prover AND verification times. It is scalable thanks to its universal reference string. For a more thorough explanation, we advise you to read Introducing Plonk, hero of the zero-knowledge proof systems.
The Plonk ZKProof system
“PLONK can be seen as a construction worker, whereas gadgets are prefab components, and a circuit is an entire building”.
Developers can tap into the Dusk-PLONK library via user-friendly APIs and benefit directly from the many PLONK Circuits already created. These circuits, which are computational programs that take care of all necessary back-end actions, ensure that you get the privacy-injection that your project needs.
You can also use the gadgets to create your own circuits if anything is missing. We have identified 3 key steps to get started and unlock the power of zero-knowledge cryptography:
User-friendliness
Central to our design is extensive developer documentation and examples to help you underway. We have designed it to be intuitive for developers new to zero-knowledge cryptography, and we are happy to take your feedback and questions should they arise.
Additional PLONK circuits will be added over time. For those eager to learn the next steps: we are currently researching recursive PLONK and PLookup. And, not to worry, the Dusk-PLONK library is actively maintained and the APIs have versioning. This way your application keeps functioning as intended with API changes.
Once you have the much-needed privacy injection in place, you can focus on customer satisfaction and growing your business.
Keen on adding zero-knowledge power to your project or facing questions or suggestions, please visit our Dusk-Plonk Github.