DQPU: Decentralized Quantum Processing Unit#


The Decentralized QPU

DQPU (Decentralized Quantum Processing Unit) lets you run your quantum programs in a trustless and decentralized network of quantum resource providers, leveraging the power of blockchain and smart contracts deployed on NEAR blockchain.

pip install dqpu
from dqpu.backends.qiskit import DQPUBackend

backend = DQPUBackend()

job = backend.run(quantum_circuit, shots=1024)
counts = job.result().get_counts(circ)


The DQPU system is composed of 3 actors:

Clients: users who need to perform a quantum sampling

Verifiers: delegates who check for data validity and detect cheating users

Samplers: users who run quantum samplers

The following process outlines how clients can submit quantum circuits for sampling using the DQPU contract on NEAR blockchain:

  1. Client Submits Job: A Client sends a quantum circuit along with a reward to the DQPU smart contract

  2. Verifier Validates Circuit: A Verifier validates the submitted circuit adding trap qubits

  3. Simulation or Hardware Execution: A Sampler executes the job retrieved from the waiting list and submit the result

  4. Verifier Checks Result: The Verifier checks result validity and the rewards are distributed

  5. Client Receives Result: The Client can retrieve the final result from the smart contract.

Read the extended workflow from the README Workflow section

Support DQPU#


Contributions and issue reports are very welcome at the GitHub repository.


      author = {Davide Gessa},
      title = {dqpu: A Web3-Powered, Decentralized Quantum Simulator with Verifiable Computation },
      url = {https://github.com/dakk/dqpu},
      year = {2024},