Also, and I hope to be in topic, why do we need to try millions of hashes before finding the right one? Isn't there a way to create a mathematical way to just get the right hash on the first try?
The hashing operation basically produces a very long random number. The entire network is looking for the first random number that has a certain number of zeros in it.
It is totally random who "wins" - that is, gets the first random number with the proper number of zeros.
You make it sound as if you can just generate a random hash with a certain number of zeros in it, but this is where the nonce value comes in isn't it?