0x, the decentralized exchange technology and infrastructure project, today announced OpenZKP, a fully open-source Rust implementation of zero-knowledge proofs (ZKPs).
The 0x team has 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.
Background
Last year, 0x teamed up with StarkWare to build a scalable DEX proof-of-concept called StarkDEX. Through the collaboration, the 0x team says it “grew more confident in the power of ZKPs for DEX scalability and performance.”
After the StarkDEX proof-of-concept was released this past spring, it was then decided to move forward independently to build a more generalized solution that aligned with 0x’s fundamental beliefs around open source and decentralization.
Open-Source
“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.”
– The 0x Team
There are various benefits OpenZKP provides over closed-source approaches, including:
- First, anyone can contribute to OpenZKP and build upon the work and others. Zero-knowledge proofs are an evolving technology with many talented individuals working on it. By releasing early and often, the community 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, the open-source implementation provides continuity. The 0x team wants its protocol to function independently of the people who build it, and this can only happen if all source code is accessible.
STARKs
The STARK variety of ZKPs was used 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 the 0x use-case.
The 0x team believes the cryptographic security is excellent, requires 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, in which good tooling is not yet available. The other downside is that proofs are larger than some other systems, but at about 100KB they are still small.
The OpenZKP library is now usable and available on GitHub, also check out the docs and examples.