Anshu
Newbie
Offline
Activity: 4


February 21, 2014, 01:30:45 AM 

I'm sure I am missing something. Here's the scenario.
Assume, I have a supercomputer that is able to mine a block in a single minute (as opposed to 710 mins taken by everyone else). Since the computation is largely parallel, its always possible to mine faster and faster.
Then, why can't the above scenario lead to me being the winner all the time?
Thanks in advance.





Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.

Stevets


February 21, 2014, 03:22:50 AM 

If you were able to mine a block in a minute as opposed to the 7 to 10 minutes it takes everyone else, that would mean you have 7 to 10 times the hash rate of the entire mining community. You would own the blockchain. But such a computer does not exist. Even if it did it would be too expensive to waste on mining Bitcoin. If it were cheap enough then everyone else would have them and you are back to where you started. [Edit] I think that what I wrote is true but I'm a newb. Hopefully an expert will correct me or agree :)




grue
Global Moderator
Legendary
Offline
Activity: 2044


February 21, 2014, 03:25:35 AM 

because in mining, solving a block is random. a 2x faster miner will solve blocks in half the time on average. therefore it's possible for even the slowest miners to have a chance at a block.




DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Gerald Davis


February 21, 2014, 03:28:33 AM 

Think of mining as a lottery. Each hash is like a lottery ticket. A slower miner will produce less tickets per hour than a faster one but any ticket could win. If you and I enter a lottery and you have 50x as many tickets as me it doesn't guarantee you will win. You are more likely to win, and if we played every week with you have 50x the tickets in the long run you would win 50x as often as I do but I would still win some weeks. Even if you had a million tickets and I had, I would win some weeks. Miners don't make progress towards a block a losing ticket is just a losing ticket and your mining rig tries another one. We say a block takes an average of 10 minutes because it the odds of each hash solving a block are so low that it takes all the miners in the world making attempts for 10 minutes on average to end up with a "winner".




Anshu
Newbie
Offline
Activity: 4


February 21, 2014, 03:57:01 AM 

We say a block takes an average of 10 minutes because it the odds of each hash solving a block are so low that it takes all the miners in the world making attempts for 10 minutes on average to end up with a "winner".
Thanks for the answer. The above quote in particular was most enlightening (the "all the miners" part)  which essentially means that for a miner to have an "upper hand" (even probabilistically), he would have to have a computer that is faster than the ALL THE MINERS COMBINED!




DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Gerald Davis


February 21, 2014, 04:18:28 AM 

No that is incorrect. It doesn't matter if miners are working on the same block or different blocks it takes the same number of attempt (collectively) on average to "solve" a block.
Imagine I make a game. If you roll three dice and you get three ones you win. The odds are 1 in 216 (6^3). On average it will take you 216 attempts to win. Now imagine two of you are playing. It will still take you combined an average of 216 attempts for SOMEONE to win. The range of possible numbers is 3 to 216 and the target is 3.
For the "game of solving blocks" the contents of the block are immaterial to the odds. Simplified if the block hash is smaller than or equal to the target it wins. It is simply a random probability. Very much like the dice game except the "roll" is a hash with a value between 0 and 2^256  1. What transactions a miner is putting into a block doesn't matter. The hash is still a random number. Each hash from each miner has an equal chance of being below the target.
There is no progress towards solving a block. You hash a block, if the hash is smaller than the target (like rolling 3 ones) you win. If you don't the hash is worthless and you make a change and try again. If the odds of any random hash to be below the target are one in a trillion then it will take everyone combined making 1 trillion attempts on average for one of those persons to produce a winning hash.




Anshu
Newbie
Offline
Activity: 4


February 21, 2014, 04:21:17 AM 

Dear "DeathAndTaxes": Yes, I understand  I actually removed my question before your reply. Anyway, your explanation confirms my understanding. Thanks.




DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Gerald Davis


February 21, 2014, 04:27:55 AM 

Thanks for the answer. The above quote in particular was most enlightening (the "all the miners" part)  which essentially means that for a miner to have an "upper hand" (even probabilistically), he would have to have a computer that is faster than the ALL THE MINERS COMBINED! Yes this is the 51% attack. If a miner "played fairly" even with 51% or 90% of the blocks he would still only solve his fair share (his share of hashing power / total hashing power) however due to some properties on how Bitcoin solves competing chains a miner with 51% of the computing power can "cheat" and solve all the blocks by rejecting all blocks which aren't his. It is the limit to the "proof of work" as a means to force a consensus on the network.




Stevets


February 21, 2014, 02:17:53 PM 

If the odds of any random hash to be below the target are one in a trillion then it will take everyone combined making 1 trillion attempts on average for one of those persons to produce a winning hash.
What are the odds, at the current difficulty, of one hash attempt solving a block? I always hear things like "it will take an average of 50,000 days" or "0.0000021%". But, for my mind to understand the odds, I would like to hear it phrased like "the odds are 1 in 1,000,000,000,000". Is it really "one in a trillion"?





DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Gerald Davis


February 21, 2014, 03:51:44 PM 

If the odds of any random hash to be below the target are one in a trillion then it will take everyone combined making 1 trillion attempts on average for one of those persons to produce a winning hash.
What are the odds, at the current difficulty, of one hash attempt solving a block? I always hear things like "it will take an average of 50,000 days" or "0.0000021%". But, for my mind to understand the odds, I would like to hear it phrased like "the odds are 1 in 1,000,000,000,000". Is it really "one in a trillion"? 1 in (2^32 * Difficulty) or right now 1 in 13,441,414,437,063,900,000 (that's 13,441 quadrillion). Or another way of saying it is that it takes on average 13,441 quadrillion hashes before someone in the world finds one that is smaller than the target.




Gatorhex


February 23, 2014, 03:04:48 PM 

Assume, I have a supercomputer that is able to mine a block in a single minute (as opposed to 710 mins taken by everyone else). Since the computation is largely parallel, its always possible to mine faster and faster.
Then, why can't the above scenario lead to me being the winner all the time? In simple terms.. The more GH you have the more Lotto tickets you are buying. But solving a block is random luck, like winning the Lottery, someone can do it with a single ticket! Believe it or not I learned that from BFL's Josh Zerlan!




Stevets


February 24, 2014, 05:45:20 PM 

If the odds of any random hash to be below the target are one in a trillion then it will take everyone combined making 1 trillion attempts on average for one of those persons to produce a winning hash.
What are the odds, at the current difficulty, of one hash attempt solving a block? I always hear things like "it will take an average of 50,000 days" or "0.0000021%". But, for my mind to understand the odds, I would like to hear it phrased like "the odds are 1 in 1,000,000,000,000". Is it really "one in a trillion"? 1 in (2^32 * Difficulty) or right now 1 in 13,441,414,437,063,900,000 (that's 13,441 quadrillion). Or another way of saying it is that it takes on average 13,441 quadrillion hashes before someone in the world finds one that is smaller than the target. So.... to phrase it in a different way, what you are saying is that I should sell my 1.6GH USB Antminer and buy PowerBall tickets?




HorseCoin
Jr. Member
Offline
Activity: 42


February 24, 2014, 07:05:24 PM 

lets say i have a listing of blocks from the future, how can i match them up in cgminer so it only tries to solve those "certain" blocks

investment is a great staple



novello


February 24, 2014, 07:29:22 PM 

What's also not mentioned here is that everyone is not trying to solve the same 'puzzle', it's very, very unlikely that any two miners will actually be trying to solve the same problem, as individual 'puzzles' are based on a unique set of transactions : everyone has a different block to hash to find the solution. However, overall the same rules of probability apply, and often it's not the exact solution that wins, just one that is equal to or less than the target. It's still a matter of more firepower = more chances of solution. Try looking at the Getwork or Getblocktemplate ( https://en.bitcoin.it/wiki/Getwork , https://en.bitcoin.it/wiki/Getblocktemplate) entries, the latter gives more explanation of how a block for solution is 'formed' and also explains what a Merkle Root is. It took me bloody ages to try to get a straight answer about how hashing actually works, so I can sympathise with the confusion over the whole process.




beegatewood


February 25, 2014, 02:06:55 AM 

But fastest computer always win in the long run..




Stevets


February 25, 2014, 05:41:43 PM 

True, if the fastest computer is faster than all other computers combined. Remember, it is competing with the world.




