Author

Topic: Quick and simple Bitcoin mining question (Read 926 times)

newbie
Activity: 42
Merit: 0
July 16, 2011, 12:05:37 AM
#6
Also, there's the slight detail that you're trying to create a block that pays you and he's trying to create a block that pays him. So the coinbase transaction will be different. (And if you're both mining for the same pool, the pool manager ensures that each miner still gets a different coinbase transaction even though they pay the same address.)

yep, so plenty of variance in what everyone is hashing.  In reality my total hashrate is between 460MHashes and 550MHahes, depending on if I want my two VisionTek 6870s to be 85C or 95C for many hours at night.  I am very interested in water cooling them eventually, mainly because the noise level of the GPU's fans is like a hair dryer making out with a jet engine, but also because it is something I have been interested in doing anyway, even before i got into mining.  I am guessing proper water cooling could really drop those temps and allow me to clock these cards much better.
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
Also, there's the slight detail that you're trying to create a block that pays you and he's trying to create a block that pays him. So the coinbase transaction will be different. (And if you're both mining for the same pool, the pool manager ensures that each miner still gets a different coinbase transaction even though they pay the same address.)
newbie
Activity: 42
Merit: 0
just read the "Isn't this a massive vulnerability" thread, and then reread the Block Hashing Algorithm wiki page and realized why I was incorrect in my question.

The nonce is not the only thing that changes, but the timestamp changes as well, possibly with each and every hash within each unit of the timestamp (assuming the timestamp is a standard 'second'-based UNIX timestamp, every hash tested within a second has the same timestamp value).  So although the person with a faster hash rate can test quicker, the data we are testing is not the same and thus its not as simple as data+1, data+2, data+3, data+4 and so on, but rather my-data+1 / his-data+1

legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
If they have twice the hashing speed, they would beat you about 2/3 of the time. You have to remember, everyone is trying to generate a different next block. (If you were all trying to generate the same next block, why would you care who generated it?)
member
Activity: 112
Merit: 10
The person with the higher hash rates has higher odds, because they are going through hashes faster. Like scanning discarded lottery tickets for the winning number, if you can check them faster you USUALLY beat someone who checks them slower.  But it's still random chance, you aren't guaranteed to win even if you have 99% of the hashing power because the person with 1% (or less) can get lucky.

Imagine you and I are rolling a die to see who can come up with a 6 first. If we go at the same rate, we have equal chances, but either of us can get lucky and get a 6 early. If you roll your die twice as fast as I do, your chances are higher but I could still get lucky.
newbie
Activity: 42
Merit: 0
Simple question.  Hypothetically speaking, if I have a hash rate of 0.5 GHashes/sec and another person has a hash rate of 1.0 GHashes/sec, and again hypothetically speaking, we were the only ones competing to get the next block, would the person with the higher rate get the block before me, or are our chances basically equal?

The reason I ask is due to the way Bitcoin applies the fudge-factor of incrementing the "Nonce" portion of the block hash.  Just looking at hash rates, it makes me believe that a person with a higher hash rate would get the correct block first due to their hardware being able to test hashes at a much faster rate and being able to increment the nonce value faster than the person with the lower hash rate.

I assume that once a block is found, all of the clients know about it and then start from Nonce Zero for the next block.
Jump to: