Bitcoin Forum
December 15, 2024, 08:31:18 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Manipulating the mining system via strategic scheduled withholding of CPU power  (Read 2202 times)
ghden (OP)
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
June 01, 2011, 08:13:36 PM
 #1

I'd like your views on the possibility of the following scheme to manipulate the bitcoin mining system.  I can't tell yet whether this is unfair parasitic manipulation (a small number of parties unfairly benefit at others' expense) or whether it's symbiotic (mutually beneficial) or commensal.  If this has already been discussed, please direct me to the appropriate thread.

This is a way to contribute computing power to mining, while dodging the system's feature of adjusting the difficulty to compensate for increased ability to mine.  It would especially benefit someone with a significant amount of computing power, like a government or other institution, or a pooled mining network, with lots of hashing ability at their disposal.

Here is the scheme: The strong computer chooses to withhold hash-finding for a certain number of blocks, delaying the completion of blocks until  the next scheduled difficulty-adjustment (I think it's 2016 blocks?).  The difficulty adjusts downward since the hash took so long to find.  Then, the strong computing network hashes like mad and gets rewarded with mined bitcoin at a higher frequency, until the difficulty is next adjusted, at which point the strong computers turn off and wait out this slow period again.

This would allow the strong computer to conserve their electricity consumption and get more bitcoin per kilojoule consumed.  For example, the strong computer could just turn off during periods of high difficulty.

This scheme exploits the fact that the bitcoin system has no memory of how hard it was to find the hash prior to 4032 blocks (=2016 x 2) ago; moreover, it is a publicly known and scheduled time at which the system will forget.  So the strong computer simply waits for the system to forget, and then can contribute again.

Comments would be welcome, and I'll also post some thoughts, but I don't want this post to be too long-winded.
grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1462



View Profile
June 01, 2011, 08:51:16 PM
 #2

it doesn't work that way. look at the faq

It is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
ghden (OP)
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
June 01, 2011, 09:03:34 PM
 #3

it doesn't work that way. look at the faq
Gladly.  Are you able to point out which part of the FAQ is relevant to a flaw in my assumptions?

I want to clarify some potential counterobjections:

"But there would be a longer period of high difficulty, so it all balances out."
Yes, but the strong computer is turned off during this time.  With all else being equal, the strong computer would be off more often than on.  This saves electricity, and makes the planet greener, so perhaps this is a good thing.

"The total mining output is lower than if you mine all the time."
Yes, the total mining output is lower ... but being able to turn off during high difficulty periods means the *efficiency* of mining is higher.

"The total difficulty would still increase even if the strong computer turns off, because new computers are joining the network so rapidly as to still increase ."
Yes, but the point is that the difficulty would have increased even more had the strong computer been on, so there is still a benefit.  The strong computer is able to hash without the system being able to account for its computing power.

"Other people would take advantage of it, too."
Either other people would, or they would not.  Let's assume that there is another strong computer network (let's call it Strong#2)
a) Suppose Strong#2 does not take advantage of it; it acts as normal.  Well, that's already the scenario I'm proposing here. 
b) Suppose Strong#2 takes advantage of it.  Then they would collectively behave just like a big network of "Strong#1+2" computers, and we'd get an even more emphasized effect.  So the strong computer(s) would be able to save even more on electricity. 
c) Suppose acts to do the opposite of what the first strong computer network does.  (I'm not sure why anyone would do this, but let's assume for the moment that they choose to do so.)  Strong#2 hashes during the time that Strong#1 is resting.  This means Strong#2 would have to spend more time hashing at a difficulty level that has been increased by Strong#1 the previous 2016 blocks.  At the end of the 2016, the relative difficulty drops because Strong#1 hadn't contributed --but according to this plan Strong#2 would then turn off, allowing Strong#1 a higher chance of finding the hash first.  (Yes, of course Strong#2 itself will raise the difficulty, but it was going to do that in any case.)

"You need to have greater than 50% of the computing power of the total network." (Yes, someone actually voiced this objection in IRC.)
No, you don't.

Overall, it seems to me that it would actually be to everyone's advantage to cooperate in manipulating the system this way, in terms of bitcoin mined per kilojoule of electricity spent.  Basically, you are rationing out the computing power of the network, in effect countering the arms race effect of everyone trying to compute more and more. 

Am I missing anything?
BombaUcigasa
Legendary
*
Offline Offline

Activity: 1442
Merit: 1005



View Profile
June 01, 2011, 09:24:23 PM
 #4

Am I missing anything?
You can't mine over 100% efficiency.

If you don't mine at 100%, you don't receive 100% of the potential bitcoins. If you mine at 0%, you get 0%. So why would you? Difficulty always increases, blocks always come up every ~10 minutes, which is like 10 days or so now?

Anyway, if you don't want to mine, some people will, because they are acquiring a token that increases in value in time. The sooner you acquire it, the more value you will have at X point in time. Delaying the acquisition for bursted efforts is detrimental to your future value.

Suppose EVERYONE will be mad to join in on your scheme. Then what, when all things are equal, the same ratios apply: those with more power get more bitcoins. Nothing really changes.
Raulo
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
June 01, 2011, 09:40:10 PM
 #5

This in theory would work (and I remember it was discussed a few times) but it requires insanely improbable assumptions: a very large entity that can drive difficulty up and down that has a very, very cheap hardware (so the depreciation is small and it can sit idly without incurring large losses) and very expensive electricity or very inefficient mining. Moreover, a price/difficulty ratio for bitcoin must be close to marginal electricity price. All together I think probability of such a scenario is astronomically small.

Moreover, anybody with so huge capacity, well above >50% network can do a much simpler and more rewarding thing:
1. Grow a parallel chain, independently to Bitcoin
2. Stop when they find 2016 blocks.
3. Inject this chain shortly before difficulty change.
4. Collect all the 2016 blocks.
5. See that the difficulty did not change much.


1HAoJag4C3XtAmQJAhE9FTAAJWFcrvpdLM
goatpig
Legendary
*
Offline Offline

Activity: 3780
Merit: 1375

Armory Developer


View Profile
June 01, 2011, 10:11:17 PM
 #6

Am I missing anything?

A few things. Price drives difficulty, and adoption of Bitcoin is expected to be exponential. The scheme your depict needs a stable price to be doable, and even then I wonder. What it boils down to is that in the face of easy profit (low difficulty, high price situation that your scheme engenders) people won't collude. There will be a constant stream of new comers that will eventually dwarf your mining power. From this perspective, your practice turns out to be less profitable than regular mining.

Let's assume price is low, thus difficulty is low, and your mining array is indeed significant. At this point, you'll earn more Bitcoin by simply mining all the time rather than using that scheme. The goal of that scheme is to reduce your energy expenditure per coin, at the cost of getting less coins. If you have 50% of the network hashing power and turn yourself off, assuming the rest of the network won't react, it would take it 4 weeks to achieve the 2016 of the current difficulty span. Difficulty then halves, and you rejoin, reducing the next difficulty span to a mere 1 week, earning overall about 1000 blocks, half of a single span, in 5 weeks for X cost. If you mine normally, you'd be pretending to a 2500 block rewards, half of 2.5 spans, for 5X cost. That is assuming the best possible scenario, when the rest of the network remains constant for a whole "attack" period. Unless it costs you over 32.5% of a block reward in production, you're not profitable with that method. The cost of block resolution right now is around 1% of block reward.

All of this is without considering price movement. You're of course much better off having those 2500BTC rather than 1000BTC if price increases. And naturally, as the price goes up, new people enter the mining market, and your mining power becomes insignificant, so not only did you lose a good opportunity to earn easy BTC, you're also in for alot of cash to maintain your portion of the network power, or your scheme is just altogether not doable anymore.

Last but not least, as the reward for mining shifts towards transaction fees, this scheme will be impossible, for block resolution speed will be unrelated to the daily reward miners can claim. If there is 1000BTC worth of transaction fee to be redeemed in a certain day, how many blocks were solved in that day is irrelevant to these transactions being integrated, and the reward thus ripped, so your electricity cost per BTC will detach itself from difficulty altogether.

goatpig
Legendary
*
Offline Offline

Activity: 3780
Merit: 1375

Armory Developer


View Profile
June 01, 2011, 10:13:27 PM
 #7

This in theory would work (and I remember it was discussed a few times) but it requires insanely improbable assumptions: a very large entity that can drive difficulty up and down that has a very, very cheap hardware (so the depreciation is small and it can sit idly without incurring large losses) and very expensive electricity or very inefficient mining. Moreover, a price/difficulty ratio for bitcoin must be close to marginal electricity price. All together I think probability of such a scenario is astronomically small.

Moreover, anybody with so huge capacity, well above >50% network can do a much simpler and more rewarding thing:
1. Grow a parallel chain, independently to Bitcoin
2. Stop when they find 2016 blocks.
3. Inject this chain shortly before difficulty change.
4. Collect all the 2016 blocks.
5. See that the difficulty did not change much.



How are you going to grow that chain so quick? You need the hash of the last valid block grow that parallel chain.

Raulo
Full Member
***
Offline Offline

Activity: 238
Merit: 100


View Profile
June 01, 2011, 11:00:10 PM
 #8

How are you going to grow that chain so quick? You need the hash of the last valid block grow that parallel chain.
If you have more hashrate then all other miners combined, you can start from any block and grow a chain that will arbitrarily be longer than the "regular" chain.

1HAoJag4C3XtAmQJAhE9FTAAJWFcrvpdLM
CydeWeys
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
June 02, 2011, 12:47:53 AM
 #9

How are you going to grow that chain so quick? You need the hash of the last valid block grow that parallel chain.

He specified having >50% of the power of the network.  That necessarily means that, in the time the network finds 2016 blocks, you can find more than 2016 blocks (because your computing power is greater than theirs), unless you happen to be extraordinarily unlucky.
goatpig
Legendary
*
Offline Offline

Activity: 3780
Merit: 1375

Armory Developer


View Profile
June 02, 2011, 01:27:47 AM
 #10

How are you going to grow that chain so quick? You need the hash of the last valid block grow that parallel chain.
If you have more hashrate then all other miners combined, you can start from any block and grow a chain that will arbitrarily be longer than the "regular" chain.

And you saying the network doesn't have a proper way to account for those extra 2k blocks in the next difficulty span?

anisoptera
Member
**
Offline Offline

Activity: 308
Merit: 10



View Profile
June 02, 2011, 06:18:09 AM
 #11

How are you going to grow that chain so quick? You need the hash of the last valid block grow that parallel chain.
If you have more hashrate then all other miners combined, you can start from any block and grow a chain that will arbitrarily be longer than the "regular" chain.

And you saying the network doesn't have a proper way to account for those extra 2k blocks in the next difficulty span?

You publish 2015 blocks right when the actual network gets to block 2014. Then the network finishes block 2016, and the difficulty adjustment will be exactly the same as it would have been without the supercomputer, while the supercomputer gets the coins from all 2015 blocks.

Also, every single mined coin for the last two weeks is reversed, including all transactions made with those coins.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!