Hey guys, I think we can fix pool mining!!
I just need to know how the hashing works (like, what gets hashed and in which order). Can someone please tell me?
Bump.
you should take a look at the code, but it goes roughly like this:
1- the whole block is hashed with double sha2.
2- the header, except for the hash above is signed with the private key and the least significant 5 bits of the nonce
3- results from 1 and 2 are appended to the header
4- the header is hashed with X11
5- compare with target, publish if it was reached, start again if not.
Basically, we need to take out the whole private key part so that anyone can claim a valid block to their address. Then once we find a block, submit it with our address attached for the funds to be sent to it.
This means that if you are mining for a pool, you can submit shares but give the blocks that you find to yourself.
But in order to stop people from stealing found blocks, by attaching their own address instead of the block finder, we need to:
Send sha2 hash of (found block + miner's address) to 6 (random?) masternodes.
Masternodes confirm that they have received the hash and if it is a valid block, will count it.
Miner then sends an un sha2'd version of block (found block + miner's address)
Masternodes all sign message saying that the block was found and put it onto the blockchain.
Attackers will need to control 4 of the 6 masternodes to replace the miner's address with their own.
Boom! Done! Hopefully. Although it's probaly not going to work.
Will it work?