paint-brush
Hash Rate Analysis Projections: Why Bitcoin Should Embrace Quantum Information Scienceby@maken8
1,045 reads
1,045 reads

Hash Rate Analysis Projections: Why Bitcoin Should Embrace Quantum Information Science

by M-Marvin KenJanuary 28th, 2024
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

Quantum Information Scientists currently struggle to get funding for their work, much like the scientists of old. But once they get enough qubits in the bag, they will be unstoppable and neither ASICS nor GPUs will be able to compete with their QPUs.
featured image - Hash Rate Analysis Projections: Why Bitcoin Should Embrace Quantum Information Science
M-Marvin Ken HackerNoon profile picture


***

The History of Science Funding

The scientist has always been a risky employee in terms of ROI.  They are trying to uncover truths about the universe, and oftentimes, the universe gives them the bird. Because experimenting means risking a lot of money and time on a possibly worthless idea, a scientist is a forever intern, until they make a breakthrough, then they become senior associates.

That said, the scientist has been trying to make his own money.


With the Alchemists, this was literal. While they invented Chemistry and catalyzed the birth of worldwide gold rushes, turning lead into gold was, alas, a wrong idea believed for centuries. The search consumed the lifetime of one person after another, with only dreams of wealth to get them through.


But their tenacity was a testament to their resilience and patience.


Patience meant, for the time being, remaining in the employ of someone who could afford the risk of backing science in the past. And that meant a King because they had gold/money collected from taxes.


Wizards and fortune tellers didn’t make much sense, and they were comedians come to give the King a jolly time before he went to war. Though, while throwing guts on a wall may be stupid, it was mysterious and if they were right, doubly impressive.


And here was this (broke) scientist, insisting that they knew a REAL strategy to help the King win.

What was their credibility?


Circa 200BC, the scientist is Archimedes and the King is the political head of Syracuse. Being a leader in those times largely meant you needed to win wars and as history had taught Kings the utter uselessness of charlatans, the scientist was given a chance to make his case.


Archimedes made his case alright. It has been recounted that he sunk the ships of the Romans with ingenious cranes and catapults that threw heavy stones.


Since his time, patronage from Kings, Princes, Bankers and Presidents to scientists has been immense. The scientist is respected, and all great scientists, even Leonardo da Vinci who was mostly fawned over for his impressive artwork, took off some time to design weapons.


For weapons help the King win and hence, keep the scientist with a job. Scientists soon became ever more pivotal in war efforts. Especially Physicists and Chemists, who have designed countless forms of military hardware to date.


However, the emergence of scientific methods in Economics, Sociology, Psychology, Biology, all riding on the power of statistical analysis and logical inference, quickly made the scientist important in every field of human endeavour. The problem however remained. To get a loan, the scientist usually had to, and still has to, rely on government funding because the government remains the biggest fish able to take on sufficient risk in the financial markets.


Hate it all you want, but without credit from the government, be it debt or real money, a lot of scientific work would have stalled. Best example - SpaceX.


However, governments and their ability to debase money and finance things on debt, made the world wars last longer to destroy the world much harder. It also led to economic depressions and after the 2008 financial crisis, Satoshi Nakamoto, a genius computer scientist, decided to create Bitcoin – a monetary tool outside the purview of government currency debasement.


Birth of a financial model divorced from the King

Bitcoin has been controversial from its inception. Of course, Kings and governments hate it. It is cutting into their business. A big part of the private sector also loathes its nature of priding in technological exclusivity, so that six years later, a hard fork was implemented to create Ethereum, a cryptocurrency built to provide extra blockchain services such as smart contracts.

Many other hard forks quickly followed from the faithless.


However, Bitcoin is still mainstream and has recently become interesting to Big Finance. The Bitcoin ETF proves as much. After 15 years of laughing at a thing that keeps building bigger and better, even the harshest critic will shut up and start listening more intimately. Because they now know they are missing something.


Energy scientists are also starting to pay attention, with some claiming that Bitcoin mining may be our fast track to an energy transition. Energy engineers are doing well selling cheaper electricity packages that have been subsidized by Bitcoin mining on the side.


But these are late to the party. Computer scientists have been earning well in Bitcoin, Ethereum, Doge for decades. And if any scientist has been comfortably living outside the need to get big budget funding from governments, that has been the computer scientist, from way back in the 20th century. While the field of Computer Science is much younger than Physics, Astronomy, Biology, many computer scientists quickly learned to earn big from private enterprise and individualized work, without begging the Kings and their Big Bankers for a loan.


Futuristic Science Funding itself through Bitcoin

Bitcoin is money for the people, and science has evolved to also be something done as a public good, on an open source plan, by dedicated people who put in their own time and money to make something good happen.


As I mentioned, Computer Scientists now exist on the internet who are eagerly improving the Bitcoin ecosystem using the power of collaboration and their earnest efforts. These mostly come from the land of software development and after getting orange-pilled, decide to stay at Bitcoiner-land and build the Bitcoin ecosystem.


However, there has not been much of an on-ramp for other types of scientists and this is the opportunity existing, wide open, for anybody to take.


Currently, many a scientist in the Bitcoin world is a computer scientist of the type who builds zero-knowledge proofs, rollups, and more layers of the Bitcoin blockchain. But many more scientific people are needed.


To re-iterate, I feel more electrical and power engineering scientists should be at the forefront of how Bitcoin mining equipment can provide electricity access to those without, making investments in clean, stranded energy sources much easier to manage. What better job than to be the electric engineer who designs their own job by bringing electricity to your people?


Every university student of electrical engineering, whatever the developing country, should learn about this. Because developing countries in Africa, Asia and Latin America are struggling with scaling electricity usage from otherwise cheap energy sources, because of the high premiums that locals just cannot pay. The knowledge of using Bitcoin to subsidize electricity access from stranded energy sources should be spread as far and as widely as possible.


Now, as an aspiring quantum information scientist, I feel there is also a place for me in the Bitcoin ecosystem.


While the public might know how quantum information science threatens to undo the good that Bitcoin has done by potentially hacking it, I find that building quantum-resistant algorithms is far from scratching the surface of quantum capabilities.


For example, quantum technologies could provide better signal sensors for Bitcoin nodes, allowing even weak signals to be successfully transmitted and ensure blocks are mined.


Quantum computing solutions in logistics could help guide better on how Bitcoin infrastructure could be better set up across nations and continents for optimum usage.


Quantum networks could provide better ways to transmit Bitcoin information securely.


Some problems in the Bitcoin ecosystem could be BQP (Bounded-error Quantum Polynomial) problems, which are the purview of quantum information science and these should be discovered and worked on using quantum computers.


Most importantly, quantum computers will be orders of magnitude better at mining proof-of-work cryptocurrencies than classical computers.


When Bitcoin befriends Quantum Mechanics

Moore’s law is coming to an end. IBM has already built transistors with only 5 atoms. To get smaller, it becomes harder to manage thermal noise and other nanoscale problems. To manage thermal noise, even more cooling will be done, the way it is done for qubits. Also, a 1-atom transistor is effectively a qubit.


This is the quantum realm, and like it or not, more people will study quantum mechanics in the not-too-distant future, and by extension, quantum computing. The classical computing world can only scale by a multiplicity of the same technology, which will consume even more energy. The efficiency gains of quantum technologies like quantum computers will be needed.


While I have said quantum computing is very expensive, the science of building qubits is ramping upwards and systems are getting more powerful. There might not be an exponential growth in qubits with their own Moore’s law, but a linear growth in qubits leads to exponential computational power. Which kind of is a Moore’s law!


You remember this graph;


If approximately 14 billion dollars in 2023 can bring in 48 logical qubits (logical qubits are the real qubits as manipulated in mathematical theory), by linear extrapolation, $125 billion by 2030 as seen above will bring in 428 logical qubits.


But 7 years from now, Bitcoin itself might have ballooned to $200,000 per bitcoin which is a $4.2 trillion market cap. By linear extrapolation, $3 trillion is needed in global investments to take us to 10,000 logical qubits.


As we can see, Bitcoin alone can pay for it over a 7-year span.


Why 10,000 qubits?


My Research Project

https://qworld.net/qcourse551-1/


Over the past three months, I have been studying QCourse551-1 which was offered in a collaboration between QWorld and Classiq Technologies. My research project was Project 11 - Bitcoin Mining using Grover’s Search Algorithm.


The motivation for my project came from a research paper that shows that 10,000 logical qubits alone can do Bitcoin mining faster than any classical system using the same energy consumption.


This is because 10,000 qubits can encode the full double SHA256 hashing process that goes into mining Bitcoin, but since they use Grover’s search algorithm, they effectively achieve quadratic speed-up by square_root(N) where N is the number of elements to check in an unstructured database. ASICs mining for bitcoins also check an unstructured database of random hashes for the nonce value.


The question is, which one is faster?


Most ASIC miners today are checking terahashes or 1 million hashes every second. For example this miner checks 120TH/s. That is 120 million hashes every second.


Can a quantum computer beat that?


Of course.


square_root( 120 million) = only 10954 checks per second. A 1,095,400 % efficiency increase.

And the more the competition, the more the quantum computer tears ahead in the race.


The current hash rate is rocketing upwards of 600 million million hashes per second. This is outputting enough heat to make climate scientists worried sick. But what if we replaced all those clunky ASICs with state-of-the-art QPUs from the year 2032, how many comparative hashes per second would they clock? square_root( 600 million million) = 24 million checks per second. A 2.4 billion % increase in efficiency.


If the above is not an attractive proposition, I don’t know what is.


Bitcoin should fund quantum computing research. It will take a while, but when it happens, it will be glorious. It will be a more canonical event than the Moon landing.


In our research, we were checking a much-simplified system with only 8-bit inputs and outputs, modeled on a Grover’s operator working with under 25 qubits.


Given our really low hashing power, the advantages of Grover’s search could not be gleamed first hand, and could only be inferred with a relevant complexity analysis of the runs/depth of the Classical computer (my laptop) vs the depth of our Grover’s circuit executed on the Classiq Aer simulator.


While it would have been good to model the energetics and the complexity graph of what this means, unfortunately, we ran out of time. However, we had some deliverables to show for our work.


Below is what we had including the depth of each circuit.


a) The simplified MD5 classical algorithm

We modeled a simplified version of the MD5 (a most primitive cousin of SHA256) hashing 95 printable ASCII characters to find the nonce for hex values with difficulty = 1.

Note: Our hex values were only 2-digit because we are working with 8-bit values. So our possible difficulty 1 values are only in 16 possibilities i.e. 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0a, 0b, 0c, 0d, 0e, 0f.


00 is also a difficulty 2 element. Hence the searching/hashing function is called simplified_MD5_8bit_difficulty_1or2.


def simplified_MD5_8bit_difficulty_1or2():
    printables_list = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
    for i in printables_list:
        x2 = ord(i)

        x3 = bin(x2)[2:]

        if len(str(x3))==7:
            x4 = x3+'0'
        if len(str(x3))==6:
            x4 = x3+'00'

        x5 = list(x4)

        a0 = 2*int((x5[0]))
        a1 = int(x5[1])

        b0 = 2*int((x5[2]))
        b1 = int(x5[3])

        c0 = 2*int((x5[4]))
        c1 = int(x5[5])

        d0 = 2*int((x5[6]))
        d1 = int(x5[7])

        a = a0 + a1

        b = b0 + b1

        c = c0 + c1

        d = d0 + d1
    
        a = ((d ^ (b & (c ^ d))) + (c ^ (d & (b ^ c))) + (b ^ c ^ d) + (c ^ (b | ~(d))) + b)
        
        print()

        d1 = d//2
        d0 = d%2
        d = d1*(2**7) + d0*(2**6)

        a1 = a//2
        a0 = a%2
        a = a1*(2**5) + a0*(2**4)

        b1 = b//2
        b0 = b%2
        b = b1*(2**3) + b0*(2**2)

        c1 = c//2
        c0 = c%2
        c = c1*(2**1) + c0*(2**0)

        decimal_result = d + a + b + c
        binary_result = bin(decimal_result)[2:]
        print(binary_result)
        hex_result = hex(decimal_result)
        print(hex_result)

        if hex_result == '0x0':
            difficulty_2.append(hex_result)
            collisions_difficulty_2.append(i)
        if hex_result == ('0x1' or '0x2' or '0x3' or '0x4' or '0x5' or '0x6' or '0x7' or '0x8' or '0x9' or '0xa' or '0xb' or '0xc' or '0xd' or '0xe' or '0xf'):
            difficulty_1.append(hex_result)
            collisions_difficulty_1.append(i)

    print('Difficulty_1 list = ',difficulty_1)
    print('Difficulty_2 list = ',difficulty_2)
    print('Colliding inputs for difficulty 1 = ',collisions_difficulty_1)
    print('Colliding inputs for difficulty 2 = ',collisions_difficulty_2)
    
difficulty_2 = []
difficulty_1 = []     
collisions_difficulty_1 = []
collisions_difficulty_2 = []

import numpy as np
simplified_MD5_8bit_difficulty_1or2()

As can be seen, to find the difficulty 1 (and by extension the difficulty 2) elements, we have to reiterate through 40 lines of code (ignoring spaces and printing in the for loop).

There are 96 printable ASCII characters to hash and check hence 96 * 40 which gives us a circuit depth of 3840.

However, this is run through fast by my laptop. Less than a few seconds.

b) The simplified MD5 quantum algorithm

We modeled a quantum version of our simplified MD5 algorithm to simulate finding the difficulty 1 nonce values no matter what the input ASCII character to the circuit was.

This is possible because all we need is a zero at the beginning of our hex value. Since our hash set was small (only 96 ASCII characters), we tuned the system to ignore the input ASCII value so it is redundant, and to aim to capture all possible zeros given the Arithmetic expression;


a == ((d ^ (b & (c ^ d))) + (c ^ (d & (b ^ c))) + (b ^ c ^ d) + (c ^ (b | ~(d))) + b)

which is also in the classical Python algorithm.


Notice that the 4 functions being added together are derived from the original MD5 algorithm.


Since we want difficulty 1 values, we add d = 0 and a = 0 to the above function and then synthesize it in the Classiq platform.


(Note: This is a shortcut thanks to the tireless work of the Classiq team. The Python code was also built in the Classiq Python SDK but it had a last-minute glitch. Hence we only have working Python SDK code for the Grover’s operator, but not for the Grover’s operator with a difficulty-1 hash/search, which is what you had to see here )


Hence our input Arithmetic expression is;


a == ((d ^ (b & (c ^ d))) + (c ^ (d & (b ^ c))) + (b ^ c ^ d) + (c ^ (b | ~(d))) + b) and d == 0 and a == 0



The resulting circuit has a depth of only 913

The quantum circuit wins!


Endnote

While the project time ended, our work is still a work in progress, to continue until we build a functional 10,000 qubit quantum bitcoin miner.


Voluntary efforts to support us technically are most welcome. Some of our code is still glitchy and we have only scratched the surface of the Classiq platform’s capabilities. An ingenious software tool that takes away the cumbersome tinkering with gates, as would have been needed for anybody building the same project using Qiskit.


Special thanks to Classiq and QWorld for the opportunity. And our mentor - Dr. Eyal Cornfeld, for the guidance.


***