"Quantum computations are the next frontier in securing blockchain with advanced proof-of-work." – Anonymous, probably
Welcome to Superquantum challenge at YQuantum 2025! This repository houses resources and examples for developing a quantum-based hash function, as described in our challenge prompt. Below you’ll find instructions on how to use and navigate the materials, as well as details on submission and evaluation.
- Challenge Description
- Example Notebooks
- Recommended Environment & Dependencies
- Documentation & Write-up
- Submission Guidelines
- Evaluation Criteria
- License & Attribution
The heart of this repository is the challenge.md file. It details the goal of the challenge and provides the necessary information for you to understand the problem.
This repository provides an example Jupyter notebook example.ipynb. It provides an example quantum hash function and analyzes it based on our judging criteria.
We also provide a simplified implementation of the Qubitcoin's hash algorithm in the qhash.py (which we internally call qhash) for you to analyze. This implementation lacks the post-simulation classical hashing present in the blockchain to make it more in line with the challenge requirements. However, it only accepts 256-bit inputs, which would make it not eligible as a challenge solution.
example.ipynb and qhash.py require the following dependencies to be run locally:
A well-documented solution is key:
-
Code Documentation: Add docstrings and inline comments explaining your logic, especially where the quantum portion is crucial (i.e., the “hashing” circuit).
-
Write-up: Provide a
writeup.pdf(or an equivalent Markdown/LaTeX file) detailing your approach:- Explanation of your circuit design.
- Performance and quality analysis of your output.
- Rationale for how your function meets the challenge requirements.
Optionally:
- Analysis of the Qubitcoin's hash algorithm.
To submit your final project:
-
Include Source Code:
Place your core hashing function in themain.pythat takesbytesas input and returnsbytesas output. -
Include Documentation: Provide a
writeup.pdfsummarizing your design, plus a brief presentation (presentation.pptx). -
Include Examples:
Demonstrate, in a separate notebook or Python script, how you tested your hashing function’s performance (time, uniformity, etc.).
Submissions will be judged according to the criteria outlined in challenge.md:
- Output determinism
- Entropy Preservation
- Computational Difficulty
- Preimage & Collision Resistance
- Feasibility – Not exceeding 20 qubits for up to 256-bit inputs.
- Speed – Reasonable execution times.
- Purely Quantum Hashing – No offloading to classical hash functions.
Additional points (a lot of them) may be awarded for thorough proofs or analyses of your function, and the corresponding analysis of the Qubitcoin's hash algorithm.
All files in this repository, including the notebooks and challenge materials, are distributed for educational purposes.