I'm new to bitcoin; please bear with me.

I'm looking into mining, how it works, and how to get started. I see a "mining difficulty" from many sources and list a 3 billion something number without units.

What exactly does this number mean and how does it relate to the processing speed of the hardware used? For example, what predictions can be made on the number blocks you will solve with a 100 Gh/s ASIC at any given difficulty?


I assume Gh/s is giga hashes per second, though I don't know what a hash is either.


I found this related question, but I don't understand the answer.


As an extension question, how might this relate to mining in a pool? Bitminter says it has 424 Th/s, so my 100 Gh/s is a drop in the bucket.

up vote 14 down vote accepted

(If I may repeat myself a bit...) Mining is like having a lot of people throwing weighted coins (such that 1 millionth of the time it comes up heads) and telling you when they hit a heads. If one such "heads" is reported every 10 minutes (600 seconds), you can make a very accurate estimation of how many times per second the coins are being flipped. In this example:

(1,000,000 flips/heads) / (600 seconds/heads) ~= 
1,667 flips/second

The network difficulty is how you adjust this 1,000,000 figure so that the 600 figure stays consistent as the network's total hash power (1,667) changes.

To see real-world calculations of how the difficulty affects the coins discovered per time spent, see any mining profitability calculator, and change the "difficulty" figure. The Bitcoin wiki has details on difficulty, as well.

I don't know what a hash is either.

When mining, your computer creates a block of data, which has a list of all of the transactions it knows about, includes a transaction that pays you the mining bonus, and then hashes that. If the hash happens to be a small enough number (as defined by the difficulty), the block is valid. If it's not, you increment a random number called a "nonce" that's in the block, so that the block has the same meaning but different data, and hashes the block again. Lather, rinse, repeat. (the nonce is included from the start, of course, but I didn't mention it to avoid being confusing)

The details of the block hash are explained in more detail at Bitcoin wiki's Block hashing algorithm.

Gigahashes per second, then, are how many billion times your hardware can do this hash per second.

If the pool you're in has 424 Th/s and you have 100 Gh/s, then you are about 1/4000th of your pool's total power. You can expect to be the one to solve about 1/4000th of the blocks (on average) that your pool finds.

(technical details intentionally omitted; those are available at my various links, and your link)

  • Is double the difficulty twice as hard, or does it not scale this way? – Aaron Franke Jan 15 at 5:52
  • @AaronFranke Yes, it scales that simply. – Tim S. Jan 16 at 12:27

Miners task is to find a hash below a target T. Obviously if T is smaller, its more difficult to find the hash number.
Difficulty D is defined by:

D = Tmax/T

where Tmax is: 2^224 The probability of finding the hash is:
P = T/2^256
which is equal to 1/D2^32 So if you can make h number of hashes in t time, the probability of finding the target hash is:

P = ht/D2^32
  • How do you calculate if a hash is below a target value T? – Don P Dec 19 '17 at 20:40
  • 1
    how? its just a simple if statement. target is a constant and hash is the value generated continuously. – abeikverdi Dec 20 '17 at 0:08

I'm looking into mining, how it works, and how to get started. I see a "mining difficulty" from many sources and list a 3 billion something number without units.

The difficulty is just an arbitrary value, it has no unit. A difficulty 8 block is 8 times more difficult than a difficulty. Today the difficulty is 3B, but this chances on a bi-weekly basis as the hashrate of the network varies.

For example, what predictions can be made on the number blocks you will solve with a 100 Gh/s ASIC at any given difficulty?

It takes about 4 Billion attempts to find a difficulty 1 block, you can scale up approximately from here. 100 GH means the hardware makes 100,000,000,000 attempts a second, or about a difficulty 1 block every 0.04 seconds. In practice a 100GH machine might find a block every 5 years or so, if you're lucky.

Pooled mining pools the resources to find blocks faster and split the income between the miners. It would average to about 0.13BTC a day at the moment, but it's dropping about 2% a day at the moment and doesn't look like stopping any time soon.

You won't make any income mining, nobody has except for the very first ASIC owners in January 2013.

  • 1
    If people aren't making money doing it, then what is their motivation to continue mining? – fredsbend Mar 6 '14 at 6:15
  • 2
    Supporting the network. Only people like Bitfury who have the capital to design their own hardware are the ones making a profit. – user13413 Mar 6 '14 at 12:53
  • 1
    "Only people like Bitfury who have the capital to design their own hardware are the ones making a profit" haha that's absolutely not true. – John R Perry Mar 14 at 9:34

protected by Community Jan 13 '16 at 17:09

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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