<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: marceloclaudecode01</title>
    <description>The latest articles on DEV Community by marceloclaudecode01 (@marceloclaudecode01).</description>
    <link>https://dev.to/marceloclaudecode01</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3833851%2Faeb98f73-5740-47e0-8e21-fe77255ef1ce.png</url>
      <title>DEV Community: marceloclaudecode01</title>
      <link>https://dev.to/marceloclaudecode01</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/marceloclaudecode01"/>
    <language>en</language>
    <item>
      <title>I Used a Real Quantum Computer to Generate Art - And the Randomness Is Nothing Like What Algorithms Produce</title>
      <dc:creator>marceloclaudecode01</dc:creator>
      <pubDate>Thu, 19 Mar 2026 14:37:38 +0000</pubDate>
      <link>https://dev.to/marceloclaudecode01/i-used-a-real-quantum-computer-to-generate-art-and-the-randomness-is-nothing-like-what-algorithms-lno</link>
      <guid>https://dev.to/marceloclaudecode01/i-used-a-real-quantum-computer-to-generate-art-and-the-randomness-is-nothing-like-what-algorithms-lno</guid>
      <description>&lt;h1&gt;
  
  
  I Used a Real Quantum Computer to Generate Art — And the Randomness Is Nothing Like What Algorithms Produce
&lt;/h1&gt;

&lt;h2&gt;
  
  
  What happens when you replace Math.random() with actual quantum measurements from a superconducting chip cooled to 15 millikelvin? I found out.
&lt;/h2&gt;




&lt;p&gt;Last month I had a weird idea: what if I could create art that was genuinely, physically unique — not "unique" in the way a UUID is unique, but unique the way a snowflake is unique? Born from actual physical randomness that no algorithm could reproduce?&lt;/p&gt;

&lt;p&gt;That rabbit hole took me from my apartment in Brazil to a quantum chip in Hefei, China — through three failed attempts, a broken SDK, a timezone nightmare, and eventually, 18 pieces of generative art that I can cryptographically prove were born from real quantum measurements.&lt;/p&gt;

&lt;p&gt;Here's the full story.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem With "Random"
&lt;/h2&gt;

&lt;p&gt;Every generative art tool — from Processing to p5.js to DALL-E — relies on pseudorandom number generators (PRNGs). These algorithms look random, but they're deterministic. Same seed, same output. Every time.&lt;/p&gt;

&lt;p&gt;This bothered me. Not because PRNGs are bad — they're excellent for most purposes. But because I wanted to explore something different: &lt;strong&gt;what does art look like when seeded by genuine physical randomness?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not atmospheric noise (random.org), not mouse movements, not lava lamps. I wanted the deepest randomness physics allows: &lt;strong&gt;quantum measurement outcomes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When you put a qubit in superposition and measure it, the result is fundamentally undetermined until the moment of measurement. This isn't a gap in our knowledge — it's how the universe works. Einstein hated it. But every experiment for 100 years has confirmed it.&lt;/p&gt;

&lt;p&gt;So I set out to connect a real quantum processor to a generative art pipeline and put the results on a blockchain. Simple, right?&lt;/p&gt;

&lt;p&gt;It was not simple.&lt;/p&gt;




&lt;h2&gt;
  
  
  Attempt #1: The Old SDK (Failed)
&lt;/h2&gt;

&lt;p&gt;I started with &lt;code&gt;pyqpanda&lt;/code&gt; (the original SDK, version 3.8.5). Got it installed. Wrote my first circuit. Tried to connect to the quantum cloud.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Unauthorized
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The old API endpoints were deprecated. The documentation pointed to URLs that returned 401s. The chips I was targeting — d3, d4, d5 — were listed as "in maintenance." I spent two days on this before discovering that the entire API layer had been migrated to a new SDK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson learned:&lt;/strong&gt; Always check if you're reading current documentation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Attempt #2: The New SDK, Wrong Import (Failed)
&lt;/h2&gt;

&lt;p&gt;I switched to &lt;code&gt;pyqpanda3&lt;/code&gt; (v0.3.4), the completely rewritten SDK. Different API surface. Different class names. Different everything.&lt;/p&gt;

&lt;p&gt;My first import:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyqpanda3.qcloud&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;QCloudService&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ImportError: cannot import name 'QCloudService' from 'pyqpanda3.qcloud'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The module existed, but the class was nested one level deeper than the documentation suggested. After digging through the actual package structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyqpanda3.qcloud.qcloud&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;QCloudService&lt;/span&gt;  &lt;span class="c1"&gt;# This works
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then I hit the measurement syntax. The old SDK used &lt;code&gt;Measure(qubit, cbit)&lt;/code&gt;. The new one needs explicit lists:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;measure&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;  &lt;span class="c1"&gt;# qubits AND cbits, both required
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I only figured this out after three &lt;code&gt;TypeError&lt;/code&gt; crashes and reading the C++ binding source code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson learned:&lt;/strong&gt; When SDKs get rewritten, the docs lag behind the code.&lt;/p&gt;




&lt;h2&gt;
  
  
  Attempt #3: Connected — But to What?
&lt;/h2&gt;

&lt;p&gt;Finally got the connection working. The &lt;code&gt;QCloudService&lt;/code&gt; connected, I could list backends:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;service&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;QCloudService&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://pyqanda-admin.qpanda.cn&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;backends&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;backends&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="c1"&gt;# {'HanYuan_01': False, 'PQPUMESH8': True, 'WK_C180': True,
#  'full_amplitude': True, 'partial_amplitude': True, 'single_amplitude': True}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;HanYuan_01&lt;/code&gt; (the original Wukong 72-qubit chip) was offline. But &lt;strong&gt;WK_C180&lt;/strong&gt; was online — a 180-qubit superconducting processor I hadn't even seen documented publicly.&lt;/p&gt;

&lt;p&gt;Then I tried to run my circuit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;backend&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;backend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;WK_C180&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;job&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;backend&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# 1000 shots
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;RuntimeError: This function is only for Full_AMPLITUDE.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;run(prog, shots)&lt;/code&gt; signature was for simulators only. Real chips needed a different overload with &lt;code&gt;QCloudOptions&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;opts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;QCloudOptions&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;job&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;backend&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;opts&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;result&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And then — after three days of failures — I saw real quantum data for the first time:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;0000&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;498&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;1111&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;487&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;0010&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;0001&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;1110&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;1101&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;0100&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Those small counts — the 5, the 4, the 3 — that's real quantum noise. Decoherence. Gate errors. Thermal fluctuations in a chip cooled to 15 millikelvin. You can't fake that distribution with a PRNG.&lt;/p&gt;

&lt;p&gt;I stared at my terminal for a solid minute.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Pipeline That Actually Works
&lt;/h2&gt;

&lt;p&gt;Here's what I ended up building:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Quantum Circuit → WK_C180 Chip (1000 shots) → Measurement Results
     ↓
SHA-256(sorted results) → 256-bit Quantum Seed
     ↓
Seed bits → Color palette + Shape rules + Pattern complexity + Entropy viz
     ↓
SVG Generative Art + Quantum Authenticity Certificate
     ↓
IPFS (immutable storage) → ERC-721 on Polygon (on-chain proof)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Nine Circuit Topologies
&lt;/h3&gt;

&lt;p&gt;I didn't want a one-trick pipeline. Different quantum states produce different probability distributions, which produce different art. So I designed 9 circuit families:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Circuit&lt;/th&gt;
&lt;th&gt;Qubits&lt;/th&gt;
&lt;th&gt;What Makes It Interesting&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bell State&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;The simplest entangled system possible&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GHZ-3&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Maximally entangled — measure one, know all three&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;W-State&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Entanglement that survives partial measurement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GHZ-5&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Deeper entanglement chain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cluster-6&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Graph-state entanglement (used in quantum error correction)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Surface-8&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;Topological code pattern&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cat-State&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;Schrödinger's cat at scale — macroscopic superposition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ring-16&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;Circular entanglement topology&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Full-20&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;Maximum entanglement across 20 qubits&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each topology creates a different structure in the probability distribution, which maps to visually distinct art. GHZ circuits produce sharp, symmetric patterns. W-states produce more organic, flowing forms. Cluster states generate lattice-like structures.&lt;/p&gt;

&lt;p&gt;This is a creative dimension that simply doesn't exist in classical generative art. No PRNG can produce topology-dependent randomness because there's no physical topology — it's just an algorithm.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Authenticity Certificate
&lt;/h3&gt;

&lt;p&gt;Every generated piece includes a JSON certificate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"certificate_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"499fd20848e18e0e"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"quantum_seed"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2cf1b4034f223f5c3e6a83019656e655...706"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"source"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"quantum_real_WK_C180"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"source_verified"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"processor"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Origin Quantum Cloud — WK_C180 (real quantum chip)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"circuit"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"H + CNOT seed-generation circuit (12 qubits, 8000 shots)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"timestamp_utc"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-03-18T14:50:07.071679+00:00"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"integrity_hash"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"499fd20848e18e0e01338eff3cb739f7...20d"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;integrity_hash&lt;/code&gt; chains the raw measurement data to the timestamp and circuit config. Anyone can verify: does this seed produce this art? Does this hash match this data? It's a cryptographic proof-of-quantum-origin.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Surprising Part: Quantum Noise as Artistic Signature
&lt;/h2&gt;

&lt;p&gt;Here's the finding I didn't expect.&lt;/p&gt;

&lt;p&gt;When I analyzed the entropy of quantum-generated seeds versus PRNG seeds, they were measurably different:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Classical PRNG&lt;/th&gt;
&lt;th&gt;WK_C180 Quantum&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Shannon entropy (8-bit)&lt;/td&gt;
&lt;td&gt;7.98-7.99&lt;/td&gt;
&lt;td&gt;7.92-7.99&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chi-squared p-value&lt;/td&gt;
&lt;td&gt;&amp;gt; 0.95&lt;/td&gt;
&lt;td&gt;0.3-0.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Serial correlation&lt;/td&gt;
&lt;td&gt;~0.000&lt;/td&gt;
&lt;td&gt;0.001-0.01&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Classical PRNGs are &lt;strong&gt;too perfect&lt;/strong&gt;. They produce suspiciously uniform distributions — a p-value above 0.95 means the output is more uniform than real randomness should be.&lt;/p&gt;

&lt;p&gt;Quantum measurements show natural variance. The slight deviations from perfect uniformity aren't flaws — they're signatures of a real physical process. Gate imperfections, crosstalk between qubits, thermal noise at millikelvin temperatures. It's the difference between a photograph and a CGI render: both look real, but one actually is.&lt;/p&gt;

&lt;p&gt;This variance translates directly to the art. Quantum-seeded pieces have a subtle organic quality that's difficult to reproduce algorithmically. The imperfection is the authenticity.&lt;/p&gt;




&lt;h2&gt;
  
  
  On-Chain Verification
&lt;/h2&gt;

&lt;p&gt;The smart contract stores quantum provenance data directly on Polygon:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;struct QuantumData {
    string quantumSeed;
    string processor;
    string circuitConfig;
    uint256 entropyScore;
    bool quantumVerified;
}

mapping(uint256 =&amp;gt; QuantumData) public quantumProof;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means quantum verification lives on the blockchain permanently. No API dependency. No trust required. Anyone can query the contract and verify the quantum origin of any piece in the collection.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned (The Honest Version)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Real quantum hardware is accessible — but rough around the edges.
&lt;/h3&gt;

&lt;p&gt;The cloud platforms work. You can submit circuits and get results from real chips. But the SDK documentation lags behind the code, error messages are cryptic, and you'll spend more time debugging imports than writing quantum circuits.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quantum cloud services operate differently from conventional cloud.
&lt;/h3&gt;

&lt;p&gt;There's no "always-on" API. Chips go offline for maintenance. Queue times vary. Your circuit might run in 5 seconds or 90 seconds depending on load. If you're building production applications, you need robust fallback chains and circuit breakers.&lt;/p&gt;

&lt;h3&gt;
  
  
  The real value isn't "randomness" — it's verifiability.
&lt;/h3&gt;

&lt;p&gt;Hardware random number generators (HRNGs) based on thermal noise or radioactive decay also produce true randomness. The unique advantage of quantum cloud computing is the &lt;strong&gt;audit trail&lt;/strong&gt;: you get a timestamped record of exactly which chip, which circuit, and which measurement produced your data. That's what enables cryptographic certification.&lt;/p&gt;

&lt;h3&gt;
  
  
  Different quantum states really do produce different art.
&lt;/h3&gt;

&lt;p&gt;This wasn't obvious going in. I expected all quantum randomness to look similar once hashed. It doesn't. The probability distribution structure imposed by circuit topology survives the hash and visibly affects the generative output. This is a genuinely new creative parameter space.&lt;/p&gt;




&lt;h2&gt;
  
  
  Current Status &amp;amp; What's Next
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Done:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;18 unique pieces generated and verified on WK_C180&lt;/li&gt;
&lt;li&gt;9 circuit topologies tested and characterized&lt;/li&gt;
&lt;li&gt;Full pipeline: quantum → art → certificate → IPFS → blockchain&lt;/li&gt;
&lt;li&gt;Smart contract deployed on Polygon&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Next:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complete the 100-piece collection&lt;/li&gt;
&lt;li&gt;Open-source the full pipeline (quantum circuit library + art generator + certificate system)&lt;/li&gt;
&lt;li&gt;Explore higher qubit counts for richer entropy spaces&lt;/li&gt;
&lt;li&gt;Experiment with quantum error correction codes as artistic motifs&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;The quantum computing barrier is lower than you think:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;pyqpanda3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyqpanda3.core&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;QProg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;H&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CNOT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;measure&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyqpanda3.qcloud.qcloud&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;QCloudService&lt;/span&gt;

&lt;span class="c1"&gt;# Sign up at qcloud.originqc.com.cn for an API key
&lt;/span&gt;&lt;span class="n"&gt;service&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;QCloudService&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;your_api_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http://pyqanda-admin.qpanda.cn&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Build a simple Bell state circuit
&lt;/span&gt;&lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;QProg&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;prog&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nc"&gt;H&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nc"&gt;CNOT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nf"&gt;measure&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="c1"&gt;# Run on a real chip
&lt;/span&gt;&lt;span class="n"&gt;backend&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;service&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;backend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;WK_C180&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyqpanda3.qcloud.qcloud&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;QCloudOptions&lt;/span&gt;
&lt;span class="n"&gt;job&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;backend&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prog&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;QCloudOptions&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;job&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;result&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Real quantum measurement data
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. ~10 lines to run a quantum circuit on real hardware from anywhere in the world.&lt;/p&gt;

&lt;p&gt;Full project code: &lt;a href="https://github.com/marceloclaudecode01/agency-manager" rel="noopener noreferrer"&gt;github.com/marceloclaudecode01/agency-manager&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Acknowledgments
&lt;/h2&gt;

&lt;p&gt;All quantum computations were performed on the &lt;strong&gt;WK_C180 superconducting quantum processor&lt;/strong&gt; via the &lt;a href="https://qcloud.originqc.com.cn/en/home" rel="noopener noreferrer"&gt;Origin Quantum Cloud&lt;/a&gt; platform using the pyqpanda3 SDK. The platform provides open access to real quantum hardware for researchers and developers worldwide — which is what made this experiment possible from a laptop in Brazil.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Marcelo Santos — Full-stack developer from Brazil building at the intersection of quantum computing and Web3.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you're working on anything quantum-related, I'd love to connect — especially if you've found other creative applications for real quantum hardware.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Tags&lt;/strong&gt;: #QuantumComputing #GenerativeArt #TrueRandomness #QuantumEntropy #Web3 #Blockchain #pyqpanda3 #OpenSource #SuperconductingQubits #QuantumCloud&lt;/p&gt;

</description>
      <category>quantumcomputing</category>
      <category>generativeart</category>
      <category>opensource</category>
      <category>blockchain</category>
    </item>
  </channel>
</rss>
