Post
Topic
Board Development & Technical Discussion
Re: A Two-Round Proof of Work instead of PoW
by
garlonicon
on 20/11/2021, 20:45:05 UTC
Quote
If (hash mod N > K), then the miner will move to the next block without calculating any hash.
It is impossible in any decentralized system. You could have some difficulty and accept only blocks with hash modulo 2 equal to zero, that would be as hard as mining with doubled difficulty, you cannot expect that people will stop mining just because your official mining software is doing that. If N is some natural power of two, then it is the same as taking some last bits of the hash. By checking blocks for the classical Proof of Work and some condition with hash modulo N, you are just rising the difficulty in some obscured way.

Quote
the policy stipulates that cars whose license plate ends in an odd number are only allowed to circulate on odd-numbered dates and vice versa
It works, because license plates are distributed in centralized way.

Quote
If the miner sending the $nonce$ is not authorized to participate in the hash computation, the miner receiving the $nonce$ will ignore what it received and continue solving for its own $nonce$ and listening to the network like in Bitcoin.
Each miner would know that, so each miner would just continue mining. Mining some partially valid block when solo mining is the same as mining nothing. If you need a block with 32 leading zero bits, you don't send a block with 31 zero bits, you also don't stop your miner, you just mine all the time to reach a block with 32 leading zero bits. It doesn't matter if you split validation into checking leading and trailing bits or if you do it as usual, just by checking if the hash is lower than the target. Checking if the first 16 bits are set to zero and if the hash modulo 2^16 is zero is exactly as hard to mine as producing a single block with 32 leading zero bits.

Quote
The replacement of $nonce$ in PoW by $sign(nonce)$ will force the miner to either share its private key with the mining pool or calculate the hash itself.
No, it won't change anything. Miners will share their private keys with mining pools. Today they are mining directly to the pool's address, so sharing the key requires the same level of trust as today. But that's just one option. In any useful coin you can still make transactions. That means you can mine a block where you send your reward to yourself, but you can include a transaction sending some older coins to the pool. Then, the pool can accept your shares only if you paid them first, in this way you can reach the same system as you have today, but just with more transactions to obfuscate what is going on (if for example you will find a way to punish miners for sharing keys).