Cryptocurrency - The Wasted Potential of the Hash

in #cryptocurrency7 years ago (edited)

BTCASICS.jpg

Given that you are currently browsing Steemit, I am willing to wager that most of you have some firsthand experience with crypto-currencies. Maybe you have traded them, or made some investments. Some of you may be familiar with the concept of the blockchain which underlies every crypto-currency. A few of you will have mined your own! But, have you ever stopped to wonder how crypto-currency tokens, or coins, are actually generated behind the scenes?

To understand what mining is in this context, we first need to talk about hashing. A hashing algorithm turns some large set of data into a fixed length hash using the compute power of the miner's machine. The same hash will always result from the same data, which means a third party can verify any hash by repeating the calculation. However, modifying the input data by even a single bit (the unit element of data - either a 1 or a 0) will change the output hash completely.

Having gotten that out of the way, at its most basic level classic crypto-currency mining happens as follows:

how-to-mine-bitcoins.jpg

  1. While your computer is mining, it creates a block of data which contains the transaction ledger for the coin being mined, as well as a transaction to pay itself a mining bonus. The computer will then hash this data block. If the value of the output hash is lower than a number defined by the mining difficulty, the next block in the blockchain is added and the miner is paid.

  2. More than likely, the resulting hash is not less than the number defined by the mining difficulty. The miner's computer responds by incrementing a random number in the block being hashed without altering the data contained within the block. This random number is called a 'nonce'. The miner's machine will then hash the block again.

  3. Once a block is mined and added to the blockchain, all the miners will start to hash the new block.

This process will continue, but with a twist. Every X number of blocks mined, the difficulty is changed. If the last Y blocks were mined too quickly the difficulty is raised so that successful hashes need to be even smaller. Conversely, if the last Y blocks were mined too slowly, the difficulty may be reduced. A coin may also specify other rules as to how the difficulty will be changed during the lifecycle of the coin.

As a result of this system, as miner A dedicates more compute power to mining a coin, miner B will need to increase their compute power proportionally to keep up. Yet, the net gain for either miner relative to their previous state is zero - they are still mining coins at the same rate as before. Consequently, we are seeing rapid growth in the collective hashing power of the bitcoin mining network.

Crypto-currency_market_capitalizations.png

On the 3rd of June 2017, the Bitcoin mining network (by far the largest mining network in existence) broke a record 5.5 Exa-hashes per second. Let that sink in for a minute.

5.5 Exa-hashes per second is 5.5x1018 (or five and a half quintillon) hashes per second. Other than mining Bitcoin, every single one of those calculations was utterly worthless, and added noting of intrinsic value to society. However, to properly appreciate these wasted calculations we are going to have to take a detour and compare hashes to FLOPS.

FLOPS stands for Floating Point Operations Per Second, meaning that they are calculations done with decimal numbers. FLOPS are a standard measure of compute speed for pretty much everything other than mining cryptocurrency. Meanwhile, hashes involve only integer operations (they only do calculations with whole numbers). As a result, any comparison between a hash rate and FLOPS is an approximation at best. We are going to make such an approximation:

Let's take a relatively standard piece of Bitcoin mining hardware, the AMD Radeon HD 5970, which according to the Bitcoin Wiki outputs roughly 740 MH/s. We can get its compute rate from the AMD GPUs Wikipedia page as a relatively humble 4640 GFLOPS. Dividing the FLOP rate by the hash rate gives us a factor of 6270 FLOPS per hash. This means our 5.5 Exa-hashes before can be approximated as roughly 3.5x1022 FLOPS. The world's fastest supercomputer (that is not locked away in some secret military compound) is the Sunway TaihuLight, which 'only' reaches speeds of 93 PFLOPS, or 9.3x1016 FLOPS. The combined compute power of the (known) top 500 supercomputers in the world is 'only' about 1 Exa-FLOP, or 1018 FLOPS.

Let's put that in perspective. All the compute power of the top 500 supercomputer clusters today would represent less than 0.01% of all the Bitcoin mining operations worldwide. The sheer degree of what is happening is not being appreciated by the press, nor government or most private citizens. To take this idea a step further, if ALL the world's university and research institutions were to turn off everything they are doing right now, and point the collective sum of their research compute power at the Bitcoin network, they would make up less than 0.3%...

But why am I telling you all this?

Cutting edge research in most modern scientific fields now involves large quantities of computational science, which is the fusion of algorithms, computer science, and compute infrastructure. Every day, the science community understands and documents more of the mathematical laws that govern the universe as we know it. We can write the algorithms. We can apply computer science to use and optimise the hardware. But what does modern research lack?

Compute infrastructure.

Hundreds of thousands of researchers in innumerable fields will be meeting compute roadblocks over and over in their careers. This isn't just limited to a few scientific subfields. It includes disease research, material science, polymer research, astronomy, even art! We have a professor at my university who has written software that can reliably detect fakes vs true works of many great masters with incredible accuracy. It boils down to a massive compute problem. The scope of potential research applications is immense - this research ledger for the Titan Supercomputer demonstrates what just one machine can work on:

applications.png

If we pretend for a moment that ASICs were not a thing, and we could point the collective power of the crypto-currency mining networks at the betterment of humanity, it is unimaginable what could be achieved. Right now, as you are reading this, there are cures for AIDS being developed. Cures for cancer. Drugs to fix genetic abnormalities. Can you guess the underlying problem all of them are facing right now? They are waiting on computations to complete.

Maybe it's time to rethink where we point our compute power?

Sort:  

Gridcoin and BOINC are a great combination. BOINC supports all sorts of causes and science worldwide and is completly open, anybody can set-up a project and benefit from volunteer distributed computing.

Gridcoin can only encourage more people to crunch for BOINC and give something back.

One of the main draws for me is being able to support reasearch and be rewarded by Gridcoin with the minimal overhead required to support the network.

Proof of Work is just so wasteful

This is exactly what Gridcoin does. It uses BOINC computations to mine GRC. Check it out! It is worth something like 10X what it was in March and there is a lively community on here and on Reddit. Curecoin also is attached to meaningful scientific research, but projects are more limited. #Gridcoin #BeyondBitcoin #cryptocurrency
http://www.gridcoin.us/

And you can even put those ASICs to use to support science by joining the BOINC project Bitcoin Utopia: http://www.bitcoinutopia.net/bitcoinutopia/ #BOINC #Bitcoin #Gridcoin

Great analysis! Given the relatively narrow application of ASICs, I'm not sure how close you are to accurate, but the computing power being burned is significant!

I think this is exactly what Ethereum and Golem are trying to solve, and I'm all for it!

This is exactly what the Golem coin/project is all about. It is about connecting all the world's extra computing power to help in these various areas of study. Check it out. I have no investment or connection with them, but I love the idea. It is like the one where you donate processing power to study that stars. I know that this project does not include the mining computing power. It would be wonderful if someone could figure out a way to divert the nonce, to this project for a small fee.

With golem, you need to pay to get your computation, where as with Gridcoin/BOINC it's free.

Here is my take on Golem https://steemit.com/cryptocurrency/@brevis/crypto-tip-golem-network-tokens-9-jun-17
I believe in the long term potential of this project, and in fact, I have invested in $GNT just recently

Hello @dutch, i am translated your article to russian (with some "add's"), We need more attention on that, sir!! I hope it help you! Check that: https://golos.io/bitcoin/@rambinho/kriptovalyuty-popustu-rastrachennyi-potencial-perevod
And personally - i like your work. Just keep it up, man!

Sounds great, and thank you for the feedback!

Why do you copy a post from 2016 about mining? And why not from 2010?

I'm more than happy to discuss this if you provide some links, but I assure you it's not copied. This article summarises my observations as a researcher and my frustrations with the wasted compute in the crypto mining scene.

Which article was copied?

Great post @dutch. I am not a pro in crypto, but I think all this power is also there to secure the bitcoin network.

For example if there was only a power of one supercomputer in bitcoin network, than any other two supercomputers could combine to always trick the bitcoin network into double spend.

What do you think?

You're totally correct in that some of the hashes are used to secure the network. Even so, from what I understand that could be achieved with thousands of times less compute power than currently being committed. I am no expert in securing the blockchain, so if anyone else can weigh in on this I would love to hear their take.

An elegant solution I have yet to see would be having only a randomised subset (weighted by compute power) of all miners actively trying to solve each block, while the rest point their compute to something more useful.

I'm glad to see this. As i've started to learn about crypto the thing that bother me the most is the thought of so much electricity and computer power just to produce these coins. I really hope we'll see more things like folding coin in coming years to change this.