- What is the hashing algorithm called used in Bitcoin?
Bitcoin uses SHA-256
- Why is this hashing algorithm really hard (almost impossible) to brute-force?
Technically, for a miner to use brute-force he needs to come up with a the result while hashing the block, concatenate it with the nonce, which is a completely random string of values, hash all of that again, and match the results with the difficulty level.
If the results are below or equal to the difficulty level, it is accepted, and the new block is created to the blockchain. If not, they must hash again and repeat the process with a new nonce each time until the results are less than the difficulty level. This of course is highly unlikely. The number of possibilities is too high with a 256 bit hash that makes brute forcing infeasible.