Introducing OpenZKP

An open-source zk-STARK Implementation

In late 2018, we teamed up with StarkWare to build a scalable DEX proof-of-concept called StarkDEX. Through that experience, we learned a lot and grew even more confident in the power of ZKPs for DEX scalability and performance.



After the StarkDEX proof-of-concept was released in spring 2019, we decided to move forward independently to build a more generalized solution that aligned with our fundamental beliefs around open source and decentralization. Today, we are excited to introduce OpenZKP, a fully open-source Rust implementation of zero-knowledge proofs (ZKPs). OpenZKP includes a partial implementation of the STARKs protocol variant that was pioneered by StarkWare in the StarkDEX testnet demo.

We built an easy-to-use, low-level interface that anyone can interact with, and it is the fastest prover with the smallest proofs available today. Check out our documentation and examples.



Open-source development is core to 0x’s mission of creating a tokenized world where all value can flow freely. In order for blockchain networks to replace the legacy financial system, every layer of the stack needs to be open and transparent. An open-source ZKP implementation is a logical next step and is essential for these technologies to be broadly adopted. There are several key benefits OpenZKP provides over closed-source approaches.



First, anyone can contribute to OpenZKP and build on our work and others. Zero-knowledge proofs are a rapidly evolving technology with many talented individuals working on it. By releasing early and often, we can learn from each other efficiently and collectively push forward. Second, OpenZKP is audit-able. It is critical that anyone can look at the code for themselves and determine if there are security vulnerabilities. Third, our open-source implementation provides continuity. We want 0x protocol to function independently of the people who build it, and this can only happen if all source code is accessible.



The OpenZKP library is usable today. We utilized the STARK variety of ZKPs because it takes advantage of a few unique properties. Most importantly, STARKs have very fast provers for constraints with a lot of repetition, which is the main bottleneck in our use-case. The cryptographic security is excellent, requiring no trusted setup, and is secure against quantum computers. The math is also more simplistic than some alternatives, which eases the development of high-quality provers and verifiers. There is also active development in closely related systems such as Aurora. The main downside is that it has a new constraint language, for which good tooling is not available yet. The other downside is that proofs are larger than some other systems, but at about 100kB they are still small.



OpenZKP is still in its infancy. But, we have an internal team dedicated to building out this technology and bringing it to market. We sponsored the Coda + Dekrypt SNARK Challenge, where fast GPU-based crypto math was built, which we plan to incorporate. We will also participate in a few upcoming events, including Devcon 5. Make sure to catch my OpenZKP presentation on Day 3 at 11:25am in room B3!



We look forward to further engaging with the crypto community on zero-knowledge proofs and welcome any feedback on OpenZKP. Stay tuned for more exciting updates!