9

I am wondering whether it is possible for a supercomputer to find the next 1000 blocks in a very short amount of time. Hypothetically, if a government agency concentrated a supercomputer on hashing, could they solve the next 2016 blocks in a few seconds?

The difficulty is adjusted every 2016 blocks based on the time it took to find the previous 2016 blocks. At the desired rate of one block each 10 minutes, 2016 blocks would take exactly two weeks to find.

From what I understand from the article on the bitcoin.wiki, the difficulty would scale until 1 block is found every 10 minutes. This leads me to believe that in the long-term no more than 2016 blocks can be found at a rate of more than 1 per 10 minutes. I hope I am being clear. I will check for replies tonight.

Thank you so much.

7

someone /could/ throw a lot of hash power into the system. and until such a time as the difficulty adjusts, they /could/ produce more blocks than one per 10 minutes on average. but difficulty will adjust after one or more 2016-block chunks (note that change in difficulty is capped at a factor of 4 for each 2016 block chunk), until once again even with the new hash power only one block per 10 minutes is produced on average.

so "in the short term" it is possible for someone to produce more blocks than 1 per 10 minutes, but "in the long term" unless they continue adding hash power perpetually, the difficulty will catch up to them.

5

The control mechanism for keeping blocks at a rate of 1 per 10 minutes is very simplistic. What can and will happen is that the mechanism will perpetually play catch-up to the gradual increase of difficulty due to Bitcoin adoption and hardware advances.

For example, if the network hashrate increases by 1% per week (which is reasonably sustainable long-term due to Moore's law), the difficulty will always have an average 2 week lag over the hashrate, and thus blocks will be found 2% faster than 1 per 10 minutes, long-term.

If there was a PI controller this wouldn't happen.

4

TL;DR: The scenario described in OP is utterly unrealistic. Even a short term increase of solved blocks per minute requires tremendous amount of resources.

Current Bitcoin Network power is approximately 108 petaFLOPS. We can't compare 13.5 Tera Hashes/s with Flops directly, but casascius calculated rough estimate, 450G (hash/s) equals to 3.6 PFLOPS.

According to Wikipedia: On June 18, 2012, IBM's Sequoia supercomputer system, based at the U.S. Lawrence Livermore National Laboratory (LLNL), reached 16 petaFLOPS, setting the world record and claiming first place in the latest TOP500 list.

To solve one block under one second with current difficulty you would need approximately 64800 petaFLOPS. Or 4050 most powerful supercomputers.

  • 2
    Note that petaFLOPS is a measure of floating point performance. The hash calculations make minimal if any use of floating point operations. Instead they make use of integer math and logical operations. Some of the most efficient mining technologies use custom processors (ASICs) which perform the hashing operations in hardware. – Crispy Sep 10 '12 at 14:20
  • 1
    @Crispy , that is correct and I did explain it in my answer – Serith Sep 17 '12 at 4:45
3

Bitcoin does, by design, readjust difficulty every 2,016 blocks to a level that is based on how long the previous 2016 blocks took to be solved. The adjustment is intended to bring block generation back to the rate of one block every ten minutes.

There is an upper limit however to the amount of the difficulty increase so that the new level is no more than four times the previous level.

This has occurred once in Bitcoin's history -- at block 68,544, which followed Bitcoin's first exposure to tech media -- it got Slashdotted in July, 2010.

The highest increase following that was a near doubling that occurred in May 2011, when a flurry of press and media buzz was happening.

The highest increase since June, 2011 has been a 15% increase.

Currently there is about 17 Thash/s of capacity. To be able to cause per-block generation to occur at the rate of one every five minutes by adding only the 25 Ghash/s BFL Mini Rigs would be something that would require about $10 million of hardware. (Actually, this is not possible as BFL doesn't have the capacity ship even a tiny fraction of that level.)

The hardware cost to get 2,016 blocks in "just a few seconds" (say, 60 seconds) using just BFL Mini Rigs would be something in the range of $181 billion dollars (yes, that's correct -- 181 billion.)

0

This leads me to believe that in the long-term no more than 2016 blocks can be found at a rate of more than 1 per 10 minutes. I hope I am being clear.

I think you are probably not being clear.

Every time the difficulty rises, it means that the last 2016 blocks were found at a rate of more than 1 per 10 minutes. And so, each time the difficulty rises twice in a row it means that more than 2016 blocks were found at a rate of more than 1 per 10 minutes.

It's quite conceivable that the difficulty will rise two months in a row multiple times in the future, and so the assertion I quoted is incorrect.

But I guess I misunderstood what you were asking.

  • Shouldn't it be "difficulty rises"? (3 places) – Meni Rosenfeld Jul 30 '12 at 7:37
0

In theory, yes, more than one block can be solved per 10 minutes on average, although that would require a constant growth in the computing resources. The Bitcoin protocol is created in a way so as to adjust its difficulty and aim to create on average a 6 blocks per hour. Thus no matter how much hardware you throw at Bitcoin, it will readjust itself to handle it and function normally.

One can create more than 2016 blocks at a time at rate greater than 1 per 10 minutes, provided enough resources are available. Having enough computing resources to launch a 51% attack, essentially more than everyone else on the Bitcoin network, one can create blocks with arbitrary timestamps (as long as they follow the protocol). Thus instead of creating blocks that are spaced say, 5 minutes from one another and forcing the network to double the difficulty in one go, you can make multiple of 2016 blocks spaced at say, 9 minutes apart. You can continue to do this until you run out of hardware, essentially creating more than 2016 blocks with an average time between then being less than 10 minutes. This scenario, however, is essentially a 51% attack and would require enormous amount of hardware and electricity to perform.

I hope this answers your question.

0

This has already happened. Bitcoin blocks have been mined 6.9% faster than the "10 minutes per block" rule.

There have been 1.88e8 seconds since the start of Bitcoin. Given this, you would expect there to be 314,000 blocks. However, there are actually 335721 blocks at the time of writing. This is a difference of 6.9%.

0

Yes, definitely, and in fact in actuality blocks are mined faster than 1 every 10 minutes. As of this writing, over the life of Bitcoin, blocks have been mined on average about 1 every 9 minutes 35 seconds. This is due to the backward-looking nature of the rate-limiting mechanism and the fact that total hashing power keeps increasing. There are other flaws with the rate-limiting algorithm under extreme conditions.

In practice, though, anyone with enough hashing power to exploit the flaws in the rate-limiting algorithm would probably have an easier and more profitable time exploiting other flaws in the system available to miners that have a substantial fraction of the mining power.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.