Bitcoin Forum
April 24, 2024, 10:35:58 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why doesn't the FASTEST computer always win (i.e., discover the new block)?  (Read 2220 times)
Anshu (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
February 21, 2014, 01:30:45 AM
 #1

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 7-10 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.

1713998158
Hero Member
*
Offline Offline

Posts: 1713998158

View Profile Personal Message (Offline)

Ignore
1713998158
Reply with quote  #2

1713998158
Report to moderator
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, which will follow the rules of the network no matter what miners do. Even if every miner decided to create 1000 bitcoins per block, full nodes would stick to the rules and reject those blocks.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Stevets
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile
February 21, 2014, 03:22:50 AM
 #2

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
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
February 21, 2014, 03:25:35 AM
 #3

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.

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

Adblock for annoying signature ads | Enhanced Merit UI
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
February 21, 2014, 03:28:33 AM
 #4

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 (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
February 21, 2014, 03:57:01 AM
Last edit: February 21, 2014, 04:18:09 AM by Anshu
 #5

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 Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
February 21, 2014, 04:18:28 AM
 #6

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 (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
February 21, 2014, 04:21:17 AM
 #7

Dear "DeathAndTaxes":

Yes, I understand -- I actually removed my question before your reply. Smiley Anyway, your explanation confirms my understanding. Thanks.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
February 21, 2014, 04:27:55 AM
 #8

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
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile
February 21, 2014, 02:17:53 PM
 #9


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"?
BitcoinAddicts
Hero Member
*****
Offline Offline

Activity: 502
Merit: 500


View Profile
February 21, 2014, 02:20:26 PM
 #10

Talking about luck...

     ▄█
   ▄██▌
 ▄████
▀▀▀█████▀
  ▐███▀
  ██▀
  ▀
.
▄▄▄███████▄▄▄
▄▄█████████████████▄▄
▄███████████████████████▄
███████████████████████████
██████████
███████████████████
██████████
█████████████████████
█████████████████████████████
█████████████████████████████
██
███████████████████████████
██
█████████████████████████
███████████████████████
▀▀█████████████████▀▀

▀▀▀███████▀▀▀
▄▄▄███████▄▄▄
▄▄█▀▀███████████▀▀█▄▄
▄████▄▄███████████▄▄████▄
█████
███▀▀▄▄▄▄▄▄▄▀▀████████
█████
██▀▄██████▀████▄▀███████
███████▀▄█████▀ ▐█████▄▀███████
██  ███ ████▀   ▀▀█████ ███  ██
██████▄▀█████  ▄█████▀▄██████
██████▄▀███▌▄██████▀▄██████
██
██████▄▄▀▀▀▀▀▀▀▄▄████████
▀█
███▀▀███████████▀▀████▀
▀▀█▄▄███████████▄▄█▀▀
▀▀▀███████▀▀▀
▄▀▀▀▀▀▀▀▀▀▀█████████
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█████████████████████

██████████▄▀▀▀▀▀▀▀▀▀

▄▄▄████████████████████▄▄▄
████████████████████████████
██████████████████████████████
███████████████████████████████
███████████████████████████████
███████████████████████████
▀██
█████████▀   ▀███████████▀
▀▀█████▀▀       ▀▀█████▀▀
.
..SPORTS  │  CASINO  │  ESPORTS..
.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
February 21, 2014, 03:51:44 PM
 #11


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.
Gator-hex
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
February 23, 2014, 03:04:48 PM
Last edit: February 23, 2014, 03:15:24 PM by Gator-hex
 #12

Assume, I have a supercomputer that is able to mine a block in a single minute (as opposed to 7-10 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!  Tongue

Believe it or not I learned that from BFL's Josh Zerlan!

Stevets
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile
February 24, 2014, 05:45:20 PM
 #13


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
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
February 24, 2014, 07:05:24 PM
 #14

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
novello
Full Member
***
Offline Offline

Activity: 161
Merit: 100



View Profile
February 24, 2014, 07:29:22 PM
 #15

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
Sr. Member
****
Offline Offline

Activity: 297
Merit: 250


View Profile
February 25, 2014, 02:06:55 AM
 #16

But fastest computer always win in the long run..

Stevets
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile
February 25, 2014, 05:41:43 PM
 #17

True, if the fastest computer is faster than all other computers combined.  Remember,  it is competing with the world.
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!