zkVerify ZK App and Infra Builders Online Hackathon
The zkVerify Foundation is thrilled to announce an online hackathon for builders!
We’re inviting developers with experience in building ZK applications and infrastructure to create innovative and impactful projects using zkVerify’s public, permissionless ZK proof verification blockchain.
With zkVerify set to launch on mainnet in Q1 2025, we’re eager to support the development of applications that demonstrate the power of our platform. This hackathon offers cash prizes for individuals and teams building Web2 and Web3 applications that leverage zkVerify for zero-knowledge proof verification. We also welcome tools and improvements that enhance zkVerify itself!
zkVerify is a key layer in the tech stack, enabling powerful, cost-effective applications that incorporate proofs for transparency and trust. Whether you’re working on provable randomness, fair gaming, AI training data verification, or secure private communications, zkVerify lets you achieve public proof verification quickly and affordably.
Timeline
Register now at zkVerify Hackathon Devfolio link
18 Nov: Kicking Off
- Developers start forming teams on zkVerify Discord and Telegram
- Explore Technical Stack at zkVerify website
- Read the documents and tutorials at docs.zkverify.io
- Catch up on the latest zkVerify news on X
19 Nov - 5 Dec: Workshops, Presentations, AMA's, Live Sessions
- 19 Nov - 2 pm EST - zkVerify Overview and Example Use Cases live event with Q&A
- 21 Nov - 8 am EST - zkVerify Architecture Overview and Developer tools
- 25 Nov - How to Use zkVerify as decentralized proof verifier for Web2 games
- 26 Nov - Sponsor Partner Panel
- 27 Nov - How to Integrate zkVerify with EVM Smart Contract dApp
- 3 Dec - zkVerify zkHack presentation
- 5 Dec - Technical AMA session
- 6 Dec - Registration Deadline
10 Dec - Project Submission Deadline
11 Dec - Sponsors Voting on Projects
12 Dec - Live Award Presentation
Prize Categories
$15,000 Main Prize Pool from zkVerify Foundation
- Top 5 Overall Projects
- First Place - $3000
- Second Place - $2500
- Third Place - $2000
- Fourth place - $1500
- Fifth place - $1000
- Best project to improve zkVerify development tools - $2000
- Best project using smart contract with zkVerify - $2000
- Best contribution to improving zkVerify - $2000
$5,000 Prizes from Gold Sponsors
- Ellipsis Distributed Systems - specific prizes TBD
$3,000 Prizes from Silver Sponsors
$1,000 Prize from Community Sponsors
Prize award notes:
- Prizes are awarded on 12 Dec, 2024
- zkVerify Foundation will be awarding Main Prize Pool prizes in USDC, and will provide an additional bonus of zkVerify Testnet Points to winners
- Prizes will be paid to teams/individuals meeting the rules of the contest
- Each Main Prize is awarded to a unique project, and must meet minimum requirements based on the scoring system described below to be eligible.
- Gold, Silver, and Community Sponsor prizes can be combined with other prizes.
- Sponsor prizes are awarded by Sponsors.
Why Use zkVerify?
- Use many different types of ZK Proofs: Zero Knowledge research is moving fast. zkVerify lets you use new technology proving systems for your specific use case. If you don't see a verifier for your proof, it can be added!
- Cost Reduction: By using zkVerify, developers can significantly cut down on the costs associated with proof creation and verification by using new and faster ZK proofs.
- Speed: Improved verification speed means quicker transaction times and better user experience. zkVerify is a dedicated proof verification blockchain.
- Innovation: Opportunity to innovate in fields like finance, gaming, identity verification, and more, using zero-knowledge proofs.
Who Should Participate?
Developers from around the globe are invited to submit their projects. Whether you're a seasoned blockchain developer or new to the ZK space, this hackathon offers a platform to showcase your skills, learn from the community, and potentially win part of the substantial prize pool.
Purpose
2024 marks a pivotal year for zero-knowledge (ZK) proofs as they transition from niche technology to mainstream adoption. After years of intensive research and development in the field of ZK proof mathematics, innovative proof types are now poised for widespread implementation. However, the challenge has always been the high cost and slow verification times on platforms like Ethereum and other permissionless, decentralized blockchains.
Introducing zkVerify
Enter zkVerify, a new blockchain dedicated solely to the efficient verification of ZK proofs. Since its testnet launch in March 2024, zkVerify has integrated numerous high-efficiency ZK proof verifiers, including STARKs and elliptic curve proofs using both BN-254 and BLS12-381 curves. This advancement allows developers to enhance existing projects previously limited by the expense and time constraints of proof creation and verification.
The zkVerify Hackathon
To catalyze the integration of these proofs into real-world applications, the zkVerify Foundation is launching a hackathon with a prize pool of up to $30,000. This initiative is aimed at developers eager to:
- Upgrade their existing projects with ZK enhancements.
- Create new applications leveraging ZK proofs for enhanced privacy and efficiency.
Project Types
At the zkVerify Hackathon, we're seeking innovative applications from developers in both Web2 and Web3 environments where public verification of zero-knowledge proofs is beneficial. Here are the two primary categories for your projects:
- Privacy-Preserving Transactions:
- Private Polling/Voting: Develop systems where users can vote or poll without revealing their identity, ensuring privacy while maintaining transparency.
- Secure Messaging: Create messaging platforms where proofs of identity or other attributes can be verified without disclosing personal information.
- Identity Verification: Build applications where users can prove they meet certain criteria (like age, citizenship, or ownership) without revealing unnecessary personal data.
- Proving Computational Integrity:
- Verifiable Randomness: Design applications that can generate randomness in a way that can be publicly verified for fairness, such as in games or lottery systems.
- Provably Fair Games: Develop games, like chess, where every move and the game's outcome can be proven to follow the set rules without cheating.
- Financial Proofs: Create systems that can demonstrate the minimum balance in a bank account or ownership of digital assets like NFTs, useful for exclusive access or financial operations.
- Web Proofs: Applications where computations or data integrity can be proven in a web context, ensuring data hasn't been tampered with.
We encourage creativity in how these principles are applied or combined. Whether it's enhancing privacy in digital interactions or ensuring the integrity of computational processes, your project should leverage ZK proofs for secure, transparent, and verifiable outcomes.
How to Participate
Here’s how you can dive into the zkVerify Hackathon:
- Educate Yourself: Start by diving into zkVerify's documentation. Understanding the basics of how ZK proofs work and how zkVerify verifies them is crucial.
- Join Information Sessions: Attend our online information sessions. These sessions will provide insights into using zkVerify, its benefits, and how to integrate it into your projects.
- Learn to Code ZK: Familiarize yourself with writing ZK circuits. Tools like Noir or Circom are excellent for building your proof circuits. Code in Rust and prove the execution of your application in a ZKVM.
- Community Engagement:
- Join the zkVerify Discord: Connect with other participants, share ideas, and seek advice or collaboration opportunities.
- Form Teams: Hackathons are often more fruitful with a team. Look for like-minded developers or bring your own crew to scale your project.
- Explore Prize Categories: Check out the prize categories on offer. Plan your project to align with these, maximizing your chances of winning by targeting specific challenges or themes.
- Study Existing Projects: Browse GitHub for published ZK applications. Forking these projects and updating them with newer ZK proofs could be a smart move to get started quickly.
- Follow the Tutorials: The zkVerify documentation includes tutorials on how to verify your proofs on the zkVerify blockchain. Make use of these resources.
- Interactive Learning:
- Join AMAs and Live Sessions: Participate in our live sessions where we discuss zkVerify usage, and engage in Q&A. It's a great place to get your questions answered directly by the team.
- Project Submission:
- Prepare Your Project: Ensure your application is ready for submission.
- Demonstration: Create a short demo video or presentation showcasing your project's functionality.
- Submit via Devfolio: All submissions must be uploaded to Devfolio by December 10th. Ensure you meet this deadline to be considered for the prizes.
Join us in this exciting journey to explore and expand the use of zero-knowledge proofs with zkVerify. Ready your coding skills, embrace the challenge, and let’s innovate together!
How zkVerify Supports This Hackathon
Developer Support at the zkVerify Hackathon
The zkVerify Hackathon is designed to offer extensive support to developers, ensuring they have the tools and assistance needed to bring their innovative ideas to life. Here's how:
- Expert Team: zkVerify is developed by a seasoned team of cryptographers, software engineers, and developer advocates. Their collective expertise in zero-knowledge (ZK) applications provides a robust foundation for participants.
- Industry Partnerships: zkVerify collaborates with numerous key players in the ZK ecosystem, including:
- Developers of ZK virtual machines.
- Operators of ZK proving networks.
- Builders of ZK co-processors.
- These partnerships not only enrich the hackathon's resource pool but also extend the community's reach, allowing developers from these partner organizations to participate and share their insights.
- Community Engagement:
- Active Channels: Join the conversations on Discord and Telegram where you can interact with the zkVerify team, partners, and fellow developers. Here, questions are answered, ideas are discussed, and collaborations are formed.
- Educational Resources:
- Comprehensive Documentation: The zkVerify documentation is thorough, with numerous tutorials that guide developers through the process of leveraging ZK proofs.
- Open Source Projects: Multiple demonstration projects are available on GitHub, licensed openly for developers to explore, learn from, or even contribute to.
- Inspiration and Guidance:
- zkVerify commits to providing research on potential project ideas that align well with the capabilities of their platform. This initiative aims to spark creativity and guide participants towards impactful uses of ZK proofs.
This hackathon is not just about coding; it's an opportunity to immerse yourself in a supportive environment where you can learn, grow, and innovate in the field of zero-knowledge proofs. Whether you're a seasoned developer or new to the ZK space, the resources and community support at zkVerify are here to help you succeed.
Technical Stack
The zkVerify Hackathon provides developers with a robust technical framework:
- zkVerify Blockchain: At the core of this hackathon is the zkVerify blockchain, constructed on the Substrate framework. This blockchain integrates specialized verifier pallets that enable rapid and cost-effective verification of zero-knowledge proofs. These proofs, once verified, are:
- Posted to the Blockchain: Making them publicly available and accessible via an API or blockchain explorer for transparency and auditability.
- Aggregated Verifications: Periodically, these verifications are batched and forwarded to zkVerify smart contracts deployed on multiple EVM testnets like Ethereum Sepolia, Ape Chain, Curtis Horizon, Eon, and Arbitrum, ensuring compatibility and interoperability.
- Project Diversity: The applications leveraging zkVerify can span a broad spectrum:
- Web2 Applications: These can include centralized applications that require proof of computation, like ensuring the fairness of a raffle or the randomness in a game through verifiable randomness.
- Web3 Smart Contract dApps: Here, ZK proofs enhance smart contract functionalities, particularly for privacy-focused applications like:
- Private messaging systems
- Secure and anonymous voting or polling mechanisms
- Darkpool trading
- NFT trading
- Development Tools:
- zkVerify JS: A JavaScript library available on NPM, designed to streamline the integration of ZK proofs into your applications, making development more accessible and efficient.
This technical stack not only supports the development of diverse applications but also ensures that they can operate within an ecosystem that values privacy, security, and scalability. Developers are encouraged to leverage this stack to create innovative solutions that push the boundaries of what's possible with zero-knowledge proofs.
Rules for Hackathon
This contest is to develop new and innovative applications using ZK proofs that can be verified on zkVerify.
Definition of Complete Application for Submittal
- Submitted to the Hackathon management system before the deadline of 10 Dec midnight UTC
General Rules
- Projects must be created by the individual or team entering them in the contest.
- No project that was submitted for an award in a previous zkVerify hackathon is qualified.
- No project that re-uses code with a non-permissive license.
- Project code must be created after the hackathon start date of 15 Nov 2024.
- Project code should show regular commit history during the hackathon.
- Must integrate zkVerify for ZK proof verification with any of the verifiers available as listed at zkVerify Supported Proofs
- Groth16 with either BN-254 or BLS-12-381 curve
- UltraPlonk version 31
- Space and Time
- RiscZero STARK version 1.0.1
- Any others added during the hackathon available on zkVerify
Web2 Applications
- The Application should be functional with the end user should only required interact with the application frontend
- Must integrate zkVerify for ZK proof verification with any of the verifiers available as listed at
- Groth16 with either BN-254 or BLS-12-381 curve
- UltraPlonk version 31
- Space and Time
- RiscZero STARK version 1.0.1
- Any others added during the hackathon available on zkVerify
- The user can be required to have funds on a zkVerify wallet and connect their wallet to use the Application
- Submit source code via a public GitHub repository
- A clear README file with a short description of:
- How to set up and use the dApp
- A clear use cases for ZK proofs
- Team and background
- Optional Architectural diagram
Example: zkMastermind game https://zkmastermind.zkVerify.io/
Web3 dApps
- The dApp must be built on Ethereum Sepolia, EON Gobi, or ApeChain Curtis
- Must integrate zkVerify for ZK proof verification with any of the verifiers available as listed at
- Groth16 with either BN-254 or BLS-12-381 curve
- UltraPlonk version 31
- Space and Time
- RiscZero STARK version 1.0.1
- Any others added during the hackathon available on zkVerify
- The smart contract should interact with the zkVerifyAttestation contract instance deployed on that chain in order to verify proof of correctness.
- The dApp should be functional in one of two ways:
- Preferred - abstract the use of zkVerify
- the end user should only interact with the dApp frontend and shouldn't be required to have funds on zkVerify or a Substrate wallet.
- The dApp backend should take care of submitting the zk-proof to zkVerify and handling the event emitted by zkVerify upon successful verification.
- Optional - require user to have both EVM and zkVerify wallet to use dApp
- Preferred - abstract the use of zkVerify
- Submit source code via a public GitHub repository
- A clear README file with a short description of:
- How to set up and use the dApp
- A clear use cases for ZK proofs
- Team and background
- Optional Architectural diagram
zkVerify Tools and Improvements to existing zkVerify Code
- Code that makes integrating applications with zkVerify easier for developers. Examples
- This can be an abstraction front end for zkVerify
- Can be a library that makes zkVerify easier to use.
- Can be an integration into a Domain Specific Language development framework
- Can be an upgrade to web3 development tools to make it easy to integration zkVerify into a web3 application
- Another useful improvement that makes developing with zkVerify more straightforward.
- Submit source code via a public GitHub repository
- A clear README file with a short description of:
- How to set up and use the dApp
- A clear use cases for ZK proofs
- Team and background
- Optional Architectural diagram
Judging Standards
Judging will be done by a panel of judges drawn from the zkVerify project and Co-sponsoring projects
- Functionality (25%)
- Does the project successfully achieve its intended purpose using zkVerify?
- Is the zkVerify integration sound and working correctly?
- Is the project bug-free and stable during testing?
- Innovation & Creativity (25%)
- How innovative is the project in terms of utilizing zero-knowledge proofs?
- Does it push boundaries or introduce novel approaches to privacy and trustless interaction?
- Does it solve a new problem or offer a unique application for ZKPs?
- Technical Complexity (20%)
- Did the team overcome significant technical challenges in the project?
- Is there a balance between sophistication and efficiency (e.g., how computationally intensive the solution is)?
- Usability & User Experience (10%)
- Is the project easy to use and accessible to its target audience (e.g., developers or end-users)?
- Does it have a clear and simple user interface (UI) ?
- How well does it document how others can use or implement the solution?
- Team Collaboration & Presentation (10%)
- How well did the team work together to complete the project?
- Was the project’s presentation clear, and did it effectively communicate the technical features?
- Is the project well-documented for potential future development?
Resource Links
- zkVerify Hackathon on Devfolio Link
- zkVerify Website https://zkverify.io/
- zkVerify Documentation https://docs.zkverify.io/tutorials/tutorials/
- zkVerify Support Proofs - https://docs.zkverify.io/overview/supported_proofs/
- zkVerify github - https://github.com/zkVerify
- zkVerifyJS: https://www.npmjs.com/package/zkVerifyjs
- zkVerify web app bootstrap command: npx @zkVerify/create-zkVerify-template
Example applications
- ZK Sudoku using Sindri for proving network
- ZK Mastermind as web application with zkVerify verification
zkVerify Proof Creation Systems
These applications and organizations help with proof creation. ZK proofs can be created on a local machine, or in a cloud proving system.
Local Machine Proof Creation
RiscZero - RISC-V ZK Virtual Machine for Rust applications
Noir DSL - A Domain Specific Language for SNARK development
Circom DSL - A Domain Specific Language for ZK proof development
Cloud Proving Systems
Sindri - The Zero Knowledge Developer Cloud
Fermah - ZK Proof Generation Marketplace
Gevulot - Internet Compute Network for Zero Knowledge Proofs
Space and Time - Indexer and Sub-Second ZK Co-processor
Electron - Universal ZK Proof Aggregation
Marlin - Scalable coprocessors for decentralized compute
Terms of Participation for Hackathon Participants
1. Acceptance of Terms
By participating in the zkVerify Hackathon (“Hackathon”), you agree to comply with and be bound by these Terms of Participation (“Terms”). Failure to comply with these Terms may result in disqualification.
2. Eligibility
- Age Requirement: Participants must be at least 18 years old or the age of majority in their jurisdiction, whichever is greater.
- Participation Capacity: Participants may enter individually or as part of a team.
- Non-Eligibility: Employees, contractors, or representatives of zkVerify Foundation and its affiliates, subsidiaries, or advertising and promotional agencies are not eligible to participate.
3. Registration
- Application Process: Participants must complete and submit a registration form through the Hackathon website before the registration deadline.
- Acceptance: Participation is subject to acceptance by the zkVerify Foundation (the “Foundation”), which reserves the right to limit the number of participants or teams.
4. Code of Conduct
- Respect and Professionalism: Participants must conduct themselves in a professional and respectful manner. Harassment, discrimination, and offensive behavior are prohibited.
- Compliance with Rules: Participants agree to follow all instructions and rules set by the Foundation throughout the Hackathon.
5. Intellectual Property Rights
- Ownership of Submissions: Participants retain ownership of their submissions. However, by participating, participants grant the Foundation a non-exclusive, royalty-free, perpetual, worldwide license to use, display, and promote submissions.
- Pre-Existing IP: Participants represent and warrant that their submission does not violate the intellectual property rights of any third party.
6. Disclaimers and Liability
- No Endorsement: Participation does not imply endorsement of any participant or submission by the Foundation.
- No Warranties: The Hackathon, its platform, tools, and any associated services are provided “as is.” The Foundation disclaims all warranties, express or implied, including those of merchantability, fitness for a particular purpose, and non-infringement.
- Limitation of Liability: To the maximum extent permitted by law, the Foundation is not liable for any indirect, incidental, special, consequential, or punitive damages, or any loss of data, use, or profits, arising out of or in connection with the Hackathon, regardless of the theory of liability.
- Assumption of Risk: Participants understand and assume all risks associated with participation in the Hackathon.
7. Confidentiality
- Participants may receive or have access to confidential information. Participants agree to keep such information confidential and not to disclose it to third parties.
8. Privacy Policy
- The Foundation may collect and use personal information for Hackathon-related purposes, such as participant verification, communication, and prize distribution. Personal information will be managed according to the Foundation's Privacy Policy.
9. Disqualification
The Foundation reserves the right to disqualify any participant who violates these Terms, behaves inappropriately, or otherwise interferes with the Hackathon’s integrity.
10. Modification of Terms
The Foundation reserves the right to amend these Terms at any time. Participants will be notified of any changes.
11. Governing Law and Dispute Resolution
These Terms are governed by the laws of the state of Delaware. Any disputes arising out of or in connection with the Hackathon shall be resolved through binding arbitration in New York City, New York.
KYC Notice and Requirements For Prize Payments
KYC and Eligibility Disclaimer for Hackathon Winners
- KYC Requirement for Prize Eligibility
- All Hackathon winners are required to complete a Know Your Customer (KYC) verification process to confirm their identity before any prizes can be awarded.
- The KYC process may require winners to provide proof of identity, address, and other necessary information to comply with applicable laws and regulations.
- Winners will have 10 days from the time of notification to complete the KYC process.
- Sanctions Compliance
- Participants and winners must not appear on any national or international sanctions lists, including, but not limited to, lists maintained by the United Nations, European Union, United States, or other relevant authorities.
- Participants must not reside in, or be citizens of, countries or regions subject to comprehensive international sanctions.
- Consequences of Non-Compliance
- If a winner fails to complete the KYC process within the designated time or is found to be on a sanctions list, or is otherwise ineligible under applicable sanctions laws, they will forfeit their prize and be deemed ineligible.
- In the event of ineligibility, the Foundation reserves the right to select an alternate winner or redistribute the prize at its sole discretion.
Note: Compliance with these requirements is mandatory, and by participating in the Hackathon, participants acknowledge and accept these terms.