This question already has an answer here:
- What are bitcoin miners really solving? 4 answers
disclaimer: I'm completely new at this, basic computer skills limited to GUI point-&-click
I took a look at how difficulty was explained, that it is "increased" by requiring the SHA-256 generation of blocks with more leading 0 bits, thus a string of 0s at the start of the hash which is more and more rare. Unless this has not been explained in a way I understand properly I think this means that you can cheat the Bitcoin difficulty and make blocks whenever you want? You simply need a custom SHA-256 hash generation program which non-randomly generates the specified number of 0s followed by a random SHA-256 hash shortened by the number of digits equal to the number of 0s in front, or simply generates a SHA-256 hash and then replaces the leading bits with 0 bits to meet the difficulty target thus forging a block hash. So from what I'm told it's A) easy to cheat; OR B) not well enough explained.
Isn't higher difficulty less and less secure a block hash because it is less and less random? Like if the difficulty were theoretically to rise high enough wouldn't it require the entire hash to be ONLY 0 bits instead of just the first part? Doesn't that ruin the security of Bitcoin the harder it gets? Hashes are seemingly easier to crack the higher difficulty is, easier to guess randomly and easier to forge. Couldn't I or someone else just spam strings of 0 and be rewarded with blocks just as fast as they could spam enough 0s to complete a hash?
I realize the answer to both questions is probably "no it's not like that" but that is the way it's been explained on the wiki and wikipedia and various other places.
I think it's more like, miners actually process transactions, not just (or maybe not even because those could be coming from both parties of the transaction) randomly generate hashes. Also there is probably some encryption involved which has not been properly explained and which when difficulty rises is added in many more multiple layers, encrypting and re-encrypting the already encrypted data.
The explanation about 0 strings also doesn't allow for a infinitely variable difficulty above 1 and for this reason it also doesn't seem to make sense.
I'd like more transparency in how the actual technical process is explained even if it's so long that I don't care to read it. It'd also be great to find links to the full publicly released SHA standards and documentation.
The more transparent the security is the more likely it is that someone will find a way to break or breach it if this is possible and while it is not desirable for that to happen it's better that it happen sooner rather than later if it can happen at all. Thus more robust standards blocking that sort of breach can be implemented.