paint-brush
Why You Need To Add A Dash of Zero-Knowledge Proof to Your Projects by@dusknetwork
184 reads

Why You Need To Add A Dash of Zero-Knowledge Proof to Your Projects

by Dusketeer SabineAugust 10th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Dusk-Plonk is the latest zero-knowledge proof system to be developed. The Dusk-PLONK library lets developers add a dash of zero-Knowledge Proof to their projects with the help of the Dusk-plonk library. 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 ID and income statements.

Coin Mentioned

Mention Thumbnail
featured image - Why You Need To Add A Dash of Zero-Knowledge Proof to Your Projects
Dusketeer Sabine HackerNoon profile picture

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:

  • Go to the Dusk-PLONK library on GitHub and select the examples folder.
  • Use the example folders to learn one step at a time what it takes to create a trusted setup and build circuits that generate and verify proofs from start to finish.
  • Ready for use - perform an actualyl trusted setup and add the PLONK library as a direct dependency in your project.

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.

What about updates?

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.