This ZKP / Web3 Hackathon, hosted by Berkeley RDI and in partnership with ZKP MOOC (~4000 enrolled worldwide), aims to bring together all students, researchers, and practitioners to build and showcase their innovative work in ZKP, grow the ZKP community, and advance ZKP technology. It is open to the public, and is held both virtual and in-person at UC Berkeley.

Thank you for participating, please register for ZKP Closing Workshop, Hackathon Demos & Awards Ceremony, plus Career Fair & Dev Info Reception, on Tuesday, May 2, 5-8pm PDT, offered both virtually and in-person at Wozniak Lounge, Soda Hall, UC Berkeley:


The hackathon is designed to have 4 tracks:

  • zk-Applications track: any developer can build and showcase innovative applications using ZKP in diverse domains.
  • zkBridge track: building a secure, universal foundation for multichain interoperability using ZKP through decentralized community collaboration.
  • zk-Circuits track: optimizing and improving commonly used circuits through decentralized community collaboration.
  • zk-Benchmarks track: building a unified framework for benchmarking ZKPs, with standardized interfaces for integrating different components, ZKP frameworks, and workloads, enabling anyone to contribute to advance the understanding and improvement in ZKP performance in practice.

Each track specifies a set of designated tasks, each with a corresponding prize. Beyond the designated tasks, participants can also propose self-selected tasks to compete for prizes of the given track!

Several hackathon tracks are also being held as an initiative by zk-Collective and supported by a number of industry partners and sponsors. We hope this hackathon with these specially-designed tracks can help demonstrate that we are entering a new phase of maturity and practicality of ZKP technology where

  • Every developer can learn to use ZKP technology for building apps (zk-Applications track)
  • Decentralized community collaboration can effectively bring the community together to build key technologies and infrastructure for ZKP, serving as important foundations and public good for the community in ZKP (zkBridge, zk-Circuits, zk-Benchmarks track)
For Hackathon discussion, please join the Hackathon channel at ZKP MOOC discord.


PRIZES

Prizes (Up to $200,000+ in Prizes)

  • Monetary prizes for the winning teams in each track (details to be announced soon)
  • For each dedicated task and each sponsored task, we will select up to 2 qualified winners unless explicitly stated otherwise.
    • Each winner will have a chance to get admission and potentially scholarships to the ZKP Summer Cluster at UC Berkeley Simons Institute, co-hosted by Simons Institute and Berkeley RDI. Total up to $100,000 scholarship is available for the ZKP summer cluster at Simons, including up to $1500 scholarship per person to attend ZKP workshop at ZKP summer cluster at Simons, and up to $10,000 scholarship per person to be part of a research program at ZKP summer cluster at Simons. (More details about the ZKP summer cluster at Simons will be announced later.)

HACKATHON TRACKS

zk-Applications Track

Develop blockchain/web3 applications utilizing ZKP protocols, including DeFi, NFT, Games, decentralized identity, privacy etc.

zkBridge track

Contribute to an open source framework and suite to build bridging solutions between blockchains using ZKP protocols, help build a secure, universal foundation for multichain interoperability, in partnership with zkcollective.

zk-Circuits Track

Optimize common ZKP circuits to improve performance while preserving correctness.

zk-Benchmarks Track

Contribute to an open-source benchmark framework and suite to measure the performance of various ZKP schemes/libraries on standard computations.

Writing Zero-Knowledge Apps with SnarkyJS from O(1) Labs (Sponsored by NEAR Dev Gov Track)

Use SnarkyJS to write smart contracts and zkPrograms in TypeScript.

Announcing ZKP Hackathon Winners!

zk-Applications track

Aleo ZK Gaming (sponsored by Aleo)
Pharaoh's Coders Zenet transforms the timeless Senet board game by melding mysterious invisible pieces, zero-knowledge proof technology, and an immersive 3D Unity interface, creating a captivating and secure gaming experience. Source Code
aleonardo_da_vinci A zero knowledge proof implementation of the classic board game Stratego Source Code
Kathmandu.zk Combination Lock Box is a two-player turn-based game, and the objective is to be the first player to crack the code and open the lock box. Source Code
Kunyao academy app Source Code

ZK for enabling mobile use cases (sponsored by Celo)
CredLancer CredLancer is a secure gig marketplace powered by verifiable credentials. Source Code
IoT Nexus IoT Nexus, our goal is to enhance IoT devices' adaptation to blockchain technologies. Source Code
GMMS ZusK: A Zero User Knowledge portal for telecom network providers to onboard and authenticate end users. Source Code

Mantle Bounties (sponsored by Mantle)
Non-interactive ninjas ZKP2P is a privacy-preserving trustless P2P fiat onramp powered by ZK proofs and Venmo currently live on zkp2p.xyz! Source Code
VNZK PAO Venture protocol enables the creation of a "Private DAO", which allows investors to fund projects and make decisions through voting while keeping their investment and vote details confidential. Source Code

Self-selected Tasks (sponsored by Jump)
FactFortress An On-Chain Zero-Knowledge Proof Framework for Fact-Checking Source Code
deenz Fully on-chain education platform allowing users to anonymously earn and prove credentials. Source Code
ChainWay a mixer that supports arbitrary transaction amounts and proof of innocence, enabling you to recursively prove that your source of funds does not originate from illicit accounts. Source Code
FP technology zkMatch - mediator in a smart contract - that verifies if secret information matches between 2 people, if no - zero information leaks; in gaming mode it brings any puzzle game to play on blockchain, in CAPTCHA mode it stops bots from abusing web3 contracts once and for all. Source Code


zkBridge & zkCircuits tracks

Circuit & Applications in zkBridge (sponsored by Gnosis)
OUroc Source Code
PrivateBridge We design a privacy-preserving reversible asset transfer bridge between Zcash and Ethereum, built on top of zkBridge. Source Code
Keccak256 in gnark Keccak256 gnark circuit Source Code
sowa3dowa Mathematical optimizations to pairings and elliptic curves arithmetic in R1CS Source Code
varun Implementation of Nova based SHA-512 using bellperson Source Code
Faulhorn Labs SHA2 and Keccak (SHA3) hash function implementations in circom. Source Code
Kunyao Academy Circuits Source Code

Defense in Depth (sponsored by Gnosis)
zk-world A trustless and affordable framework for storing L1 historical states on L2 using zkp and block headers Source Code

Instantiation on XRPL (sponsored by Ripple)
UPC XRPL zk bridge proposal and partial implementation Source Code

Circuit development in Halo2-ce (sponsored by Scroll)
Zero Knowledge in Zero Knowledge Source Code
GRD Source Code


zk-Benchmarks track

Circuits & Supporting New ZKP-frameworks (sponsored by Jump)
Winterfell This project compares the register-based AIR paradigm and the QAP-based R1CS paradigm in a principled way by implementing examples and both using the same backend. Source Code
Celer Merging Celer's Pantheon of ZKP framework testbed with ZKCollective's zk-harness from ZKCollective to add starky, gnark, plonky2 frameworks and SHA256 benchmark automation for all available frameworks in zk-harness. Source Code
Morgan Thomas Reproducible toolchain for zk-Harness benchmark suite using Nix Source Code
bingcicle Preliminary version of an extendable Rust-based bench runner for zk-Harness Source Code


Writing Zero-Knowledge Apps with SnarkyJS from O(1) Labs (Sponsored by NEAR Dev Gov Track)

HashCloak-e1 Anonymous Authentication with ZK Access Management Source Code
secretBallot A single stage private voting app Source Code

TIMELINE

Date Event
March 1 Begin ZKP Hackathon; Participant Sign up Open
March 12 Team/Track Sign Up
April 4 Mid-hackathon Progress Check-in
April 21 Submission 1st round Deadline
April 25 Announcement of final demo participants
May 2 Submission demos, Winner announcement & Closing event

HACKATHON PROGRAM SCHEDULE

Date Program Session
March 7, 5PM PT ZKP Hackathon Welcome & Overview Session (Recording)
March 14, 5PM PT SnarkyJS - recursive ZKP in typescript (O(1) Labs) (Recording)
March 20, 12PM PT Building and Testing Circuits with halo2-ce (Scroll) (Recording)
March 21, 5PM PT Demystifying ZK Programming (Aleo) (Recording)
April 4, 5PM PT Exploring ZKP for XRP Ledger (Ripple) (Recording) (Slides)
April 4, 6PM PT Builders on zkBridge: Defense in Depth (Gnosis) (Recording) (Slides)

OFFICE HOURS & DISCORD INFO

SnarkyJS - Office hours are at 9 - 10am PT every Wednesday. There's an additional session every second Wednesday at 10 - 11am CET to cover more timezones. The schedule can be found here.

Join Aleo's Discord! Post questions in the channel labeled aleo-language underneath the Engineering category on the Aleo Discord server.

Join Rippleā€™s XRPL Discord here!

Weekly office hours are every 9 - 10am PT every Thursday for the zk-Benchmark track. (Zoom Link)

Weekly office hours are every 3 - 4pm PT every Thursday for the zk-Bridge track. (Zoom Link)


MID-SEASON CHECK-IN

For the mid-season progress check-in, please provide a short write-up that details 1) progress you made so far and 2) a timeline for open tasks that remain to be solved until submission. The mid-season progress check-in will not be included in the final evaluation.

You can find the mid-season progress check-in form here.


SUBMISSION

The deadline for the first round of submission is April 21, 2023. You can find the final submission form here.


JUDGES


MORE JUDGES WILL BE ANNOUNCED SOON!



Join the mailing list to stay informed!

* indicates required