I think what is relevant in all this is that no mining is done with CPU/GPU any more for a very good reason.
So you wont learn something you can use.
.........
It is literally way worse than saying you want to learn about being a home removalist by carrying everything in a house, 1000km on your back.
Thank you for your post appreciate it.
now just to make things very clear for me, lets show my thoughts and please correct me wherever you find a wrong one.
so as i know any small change in the header will coz the full hash result to change that means if i found a way to change anything in the header (keeping it a right one),
that means i am now competing against my own luck because then it will be a unique header only for me and no other miners will have the same header to hash.
now if i could get my cpu or gpu to calculate the 4.29 billion nonces in under a minute i will have a pretty good window to try my luck as in average it took about 10 minutes to solve a block
so in my thoughts as fast as i can try the maximum nonce tries i will change the header again and have another round
is that correct or i am missing things?
I understood your idea. You want change original block header a little bit and make it possibly be a best block header in order to hash this header data to contain a nonce to resolve a block.
1. But, the problem is there is no criteira (or no better way) to select a best block header data from the original block header. At the moment, in the state of art, an original block header has created bllions of local header data to be used, then, asic miners do hashing on billions of these local block header data. Now, bitcoin network has 200+ EH/s, which means 200 plus E block header data are hashed in per seconds. So, a PC can't fight with these ASIC machines. A very fast PC only can hash a header data in 10 minutes and find 0, 1 to 3 nonces as I experienced.
2. But, you can use your small ASIC machine and try your optimalized block header data to do hashing in a cost saving way against those big miners. The key issues are:
(1). to find a or few common or univerrse nonces, which is a broken hole in sha256 algorithm, or hashing collision aspect.
(2). to find a way to reduce search space (sha256 hash function has a huge space) or focus on a sub space for your search the nonce from few of header data, which is common optimalization method (task) in computing optimaliztion algorithms.
(3). in computer science, there are a lot of optimalization algorithms.
3. You can google "cpuminer" to find old cpuminer software in github. eg. cpuminer pooler. too many there. Then, do your development of them. Good luck.