DQPU: Decentralized Quantum Processing Unit#

DQPU

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()
backend.load_account("dqpu_alice.testnet")

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

Workflow#

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

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

Citation

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