21

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.

3 Answers 3

17

(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)

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

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
2
  • How do you calculate if a hash is below a target value T?
    – Don P
    Commented Dec 19, 2017 at 20:40
  • 1
    how? its just a simple if statement. target is a constant and hash is the value generated continuously.
    – abeikverdi
    Commented Dec 20, 2017 at 0:08
2

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.

3
  • 1
    If people aren't making money doing it, then what is their motivation to continue mining?
    – user4276
    Commented Mar 6, 2014 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
    Commented Mar 6, 2014 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. Commented Mar 14, 2018 at 9:34