Post
Topic
Board Announcements (Altcoins)
Re: [ANN] SpreadCoin | True Decentralization (No Pools) | Testing New Masternodes
by
nonce-pool
on 29/01/2015, 09:58:29 UTC

Do you think this'll work?

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?

Wouldn't that... enable pools?

Umm... No?

I don't think you have understood what I've said. Can you take a look again please?

This idea makes pools worse, it seems - first of all, you can't have a block + an address. You need to have a coinbase transaction going to the miner. Second, this way, miner is not proving the ability to spend the coinbase tx.
Hmm... Ok I think I know what you mean.

So how about everyone must mine with the exact same private key to find a block.
When a block is found, the funds get sent to the miner's address, which he specifies somehow.
But before he releases the block info, first:

Miner sends 6 (random?) masternodes an sha2 hash of (the block he found + a transaction to his address).
The 6 Masternodes confirm (sign a message maybe) that if the hash turns out to be a valid block, it will be added to the blockchain and the transaction will be confirmed. (this is to stop people from stealing the block)
Miner then sends an un sha2'd version of the block he found + a transaction to his address.
The 6 Masternodes all sign message saying that the block was found and record it to the blockchain.

If the client receives a message from 4 of the 6 masternodes that the block was found + the transaction then they add it to their blockchain.
Attackers will need to control 4 of the 6 masternodes to replace the miner's transaction with their own.

Does that work?

You must have the private key to spend the coins, if everyone had the same one then anyone could spend it, masternodes also can do nothing with the funds without the private key either.