Information Systems Engineering

ZoKrates

Interest in blockchains like Bitcoin and Ethereum has risen considerably over the last years and many use cases are currently researched and implemented by academia and industry. However, limited scalability and concerns regarding transaction privacy and confidentiality of data in public blockchain networks are issues that require novel solutions in order to enable broad adoption of this new class of systems.

In the ZoKrates Project, we research approaches to address these challenges by efficiently off-chaining computations from the blockchain without impairing its desirable properties, e.g., trustlessness and immutable history.

We use zkSNARKs, a technique from the field of verifiable computations, to off-chain computations and efficiently verify their correctness on the blockchain. By removing the necessity for fully redundant transaction processing in the network, we can reduce the load put on the system and hence improve scalability. By exploiting zero-knowledge proofs, we furthermore enable improved confidentiality for transactions in blockchain systems.

The ZoKrates software - developed in this research project - hides significant complexity inherent to zero-knowledge proofs and provides a more familiar and higher level programming abstraction to developers. For that purpose, it offers a toolbox to specify, integrate and deploy off-chain computations. This toolbox consists of a domain-specific language, a compiler, and generators for proofs and verification Smart Contracts. Furthermore, it enables circuit integration, hence fostering adoption.

The first implementation, targeting the Ethereum blockchain, was initially released at the Ethereum Devcon 3 in Cancun, Mexiko. (Talk: Description, Video; Workshop: Video)

The research paper describing the project in more detail was published at IEEE Blockchain 2018 in Halifax, Canada and won the best paper award.

The project is fully open source and is available at: github.com/JacobEberhardt/ZoKrates

On-going development of ZoKrates is supported by the Ethereum Foundation.

Additionally, the ZoKrates project was selected as one of nine grantees from more than 100 proposals for the no-strings-attached Samsung NEXT Stack Zero grant. This donation further supports the development of ZoKrates through Open Collective.

Beyond that, we are encouraging open-source contributions as well as research collaborations. Get in touch!

Resources

Research Paper
Github Repository

Videos
Devcon 3 - Main Stage Presentation
Devcon 3 - zkSNARKs Breakout Workshop
Ethereum Community Conference Paris

Zero Knowledge Podcast Episode

Related Bachelor's/Master's Theses

Applied zkSNARKS: ZoKrates-based implementation of Proof-of-Storage
A Blockchain-based Trustless Setup-Phase for zkSNARKs
Towards Off-Chain Computation with Proven Correctness