So basically I was researching target hash and trying to figure out how I can find it. I know there are posts out there that have said that Bitcoins target hash is a 256 bit number with 32 bits of leading zeros. But, where can I find this information. Basically is there an equation I can use to find how many leading zeros are currently in the target hash or a direct source where I can find this? Also, how often and by how much does this target change?
1 Answer
Bitcoin’s network has several specialized nodes called “miners” who use specialized equipment to solve cryptographically hard puzzles. If they are successful, then they will get the opportunity to add blocks to the BTC blockchain successfully.
This is how it works:
- The miner picks up transactions waiting in the mempool and hashes them.
- They add a random hexadecimal value to the front of the hash and hashes the entire value.
- This hash needs to be less than a particular value, which is called “target”
Difficulty is a measure of how difficult it is to find a hash below a given target.
The Bitcoin network has a global block difficulty. Valid blocks must have a hash below a target. This Difficulty changes every 2016 blocks (Approximately every two weeks). The level of Bitcoin mining difficulty increases or decreases according to the ease of mining within the protocol. Remember, Bitcoin needs to have a consistent block time of 10 minutes.
The problem is that targets are hard for people to comprehend. The difficulty is inversely proportional to the target and easier to understand.
The specific formula is: difficulty = [0xFFFF x 256^(0x1D - 3)] / target
, to find the target you just rearrange the formula.
The difficulty of Bitcoin at the genesis block was 1. The difficulty can be thought of as how much more difficult mining is now than it was at the start. The current difficulty level is: 28.6 x 10^12
.
You can check the current difficulty rate at: Clark Moody's Dashboard
-
I appreciate the deep dive but I just wanted that formula you gave me there. Although, I am a bit confused if you could clear up what the values in the brackets are specifically that would be awesome.– JoeApr 10, 2022 at 17:35
-
Fixed a typo in the formula, the correct one is with 256 not 255,
difficulty = [65535 x (256^26)] / target
Apr 12, 2022 at 23:49