|
June 05, 2013, 07:40:26 PM |
|
A "hash" is a type of mathematical equation.
You start with a set of data (which is represented as a number or numbers), then you perform the hash calculation. When you are done, you generally end up with a different number than you started with.
There are various hash functions that exist. For most of what bitcoin does it uses a hash that is known as SHA-256. This hash calculation is designed in such a way that the resulting number will ALWAYS be between 0 and 115,792,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000. No matter how big or small the starting data is, when you are done with the hash calculation you will get a number in that range.
The calculation is designed such that every time you calculate the hash against the exact same starting data, you will always end up with the exact same resulting number. If you change anything at all in the starting data, then the resulting number will be different and it will be different in a way that is not predictable.
Another feature of hash calculations is that they are designed to only be possible to calculate in one direction. If someone gives you the resulting number, there is no way to do the calculation the other way and determine what the starting data was.
This means that you can give a computer a set of data and have it perform the calculation. As long as the resulting hash is the same as the last time someone calculated it, you can know with confidence that the data you are working with is unchanged.
"Hashing" simply means performing this calculation on a set of data.
A "hash rate" is a number that indicates how many times the computer is capable of computing the hash calculation in one second. With bitcoin this is typically referring to the act of performing the SHA-256 hash calculation on 80 bytes of data (the 80 bytes that make up a blockchain block header). So a miner that has a hashrate of 100 Mhash/sec is capable of computing the SHA-256 hash calculation on 80 bytes of data 100,000,000 times per second.
|