Hacking became a common term for cracking at some point, misconstrued by the mass media. Bitcoin’s blockchain is hacked away at continually by miners, making its older blocks more and more immutable as time passes. Why do they spend their time exerting this effort? Because they seek to bury the ledger’s history under a mountain of new hashes all chained together, in return for a reward paid in freshly minted bitcoins. Bitcoins buy immutability. The more they are worth, the more resources the miners throw at their task, the more immutable the ledger history becomes.
Cryptographically secure hash functions, including Bitcoin’s SHA-256 variant, are designed to be pre-image resistant. This means that it should be computationally infeasible to find an input (aka a pre-image, aka a Bitcoin block) which satisfies an already known hash value (aka the image). Ideally it would be simply impossible to find a pre-image for a known hash, but in the practical world, there is always a chance that a random guess will produce the right pre-image, therefore we only ask good hashing algorithms to be pre-image resistant up to the degree of ‘computational infeasibility’.
Bitcoin exploits this weakness in SHA-256 and turns in to a strength. If the rules of the game are that miners must competitively throw computation power at finding a pre-image (ie, cracking the hash) then collectively they are going to massively outpace anyone who actually wants to pre-image attack Bitcoin for devious purposes – everyone is already attacking it constantly. Bitcoin blends the terms hacking and cracking into a single activity.
For the sake of completeness, note that the miners find partial cracks, not full ones. If the current mining difficulty parameter requires a block hash to have 17 leading zeros, then that is the numerical threshold under which any hash will be considered a successful ‘partial crack’. If the difficulty was at it’s theoretical maximum hardness of 0 (zero) then there would be such a small set of valid pre-images (aka ‘pre-image collisions’) which would satisfy a hash of ‘0’, the miners would never find a result. SHA-256 isn’t a perfect algorithm, but it is still a very tough nut to crack. The difficulty parameter is in fact the opposite of what it’s called, it’s there to make life easier for miners, it’s there to make the pre-image crack artificially easier than it naturally would be, to the tune of about 10 minutes of collective number crunching.
Within this game we have the market value of bitcoin acting as an immutability bell weather. If people demand bitcoin, the price goes up, mining increases, the task of finding a valid pre-image becomes harder, and the harder it is for anyone else to rearrange the ledger and then come up with a competing partial pre-image crack to validate their accounting fraud.
The network depends on the currency, and the currency depends on the network. This is an elegant example of a network economy and most, if not all other decentralised systems, have comparable but often less visible dynamics at play.