Here is another lecture on alternative puzzles regarding non-outsourcable puzzles. I don’t know too much about this topic. It was really fascinating and took me a bit longer to understand it though.
Questions answered in this Post:
- What is a non-outsourcable puzzle?
- Why are mining pools potentially non-outsourcable?
- Vigilante Attack and improved vigilante attack
- What are the mining mechanic changes?
- Will this be the future?
What is a non-outsourcable puzzle?
Simply. Puzzles that discourage the consolidation of mining power.
Are mining pools are risk?
Previous lectures, this class has talked quite a bit about mining pools and even have shown graphs pointing to how Bitcoin mining is concentrated. The lecturer then starts a discussion on how mining pools could be a threat. Pool operators may become central targets for coercion or hacking. However, this isn’t how mining pools were initially describe in the previous lectures. In that the participants or the mining pool don’t really trust each other or the pool operator. And that’s an observation that the lecturer goes into. The pool operates being of the “shares” protocol which distributes profits throughout all the members transparently and fairly. Guess, that ties up that discussion, to be no. The incentive structure that allowed mining pools to get so large opposes this idea of collusion and trust among members and operators.
What about vigilante attacks?
Vigilante attack, again have been discussed before. The purpose of the attack is one member of the pool is angry with the pool operator and thus wants to hurt the operator. A vigilante attack is based on someone trying to act maliciously while part of a mining pool. If a vigilante finds the block rewarded with the pool operators public key, they don’t end up sharing it with the pool operator. The result is the pool output decreases as they likely missed a block reward which in turn also hurts the vigilante. From the description, I’m still unclear why someone would want to do this attack as if they care about maximizing return, this is not that. The lecturer mentions though the vigilante is only losing a little as he’s still gaining other members profits from share block rewards.
Miller then mentions about how one cannot rely on vigilantes for doing this attack. I’m still not sold why they would do this in the first place. So this is now where the non-outsourcable puzzle comes in. How do you devise the right incentives to make the vigilante attack more appealing
Improved Vigilante Attack
The improved attack is that the vigilante takes the entire block reward for themselves. Thus, this would make them more likely to make this attack if they can. So if the vigilante can be everyone, why isn’t everyone out there running this attack? Jumping ahead, we’re now going over the mechanics of the puzzle.
Mining mechanics
Instead of just hashing, search now requires signing. Signing implies there is a private key and thus one can spend the reward via this known private key. This mechanism further drives the point, will there be no mining pool, as right now this puzzle doesn’t make sense for the operator or the participants. Lastly, the lecturer discusses a practical implementation of this which is not too different form the current mining problem. There are two signatures though. The first signatures is used with computing a hash in addition to a previous hash, nonce, and public key. The second signature is used only if its within the target and then you use the Merkle root. Then you can choose which transactions will be included into the next block.
Should we all jump on the bandwagon?
Maybe not. As I had mentioned before, if this puzzle gets used, harmless decentralized P2Pools are also at risk. People with not have any incentive to participate. From there, the lecturer mentions they may go towards other centralized features like hosting mining. Hosted mining, I think, means that you pay someone else to mine for you.
Further Research
Andrew Miller, the lecturer, has written about this topic further. I’ve linked some additional resources that discussed using the non outsourable puzzles. From what I can tell/ my minimal Google searching, haven’t seen evidence that people have discussed this post 2016. With the move to Proof of Stake for Ethereum and growth of ZKP, my take are there are other areas people are using to tackle this issue with mining outside of the non-outsourcable puzzles.