monero-project / research-lab

A general repo for Monero Research Lab work in progress and completed work
239 stars 77 forks source link

Save the network: Disincentivize megapools #83

Open t-anon opened 3 years ago

t-anon commented 3 years ago

We are all aware of the current problem facing Monero: today, only two people (pool operators) need to be compromised in order to 51% attack the network. The health and freedom of the currency of tomorrow is entirely dependent on the opsec and goodwill of two people today.

I propose that we reduce block rewards to make it less profitable for people to join megapools. We could do something like this for new block rewards:

Someone more skilled at math than me can figure out the optimal curve or mathematical construction to incentivize miners to join smaller pools


Edit: Upon further thought, megapools will just simply start providing various addresses for people to mine to, and this would be easy to automate. Perhaps the solution is developing some sort of feeless P2P mining application?

busyboredom commented 3 years ago

Bitcoin has P2Pool, which is a decentralized mining pool we might take some inspiration from.

It operates using a "Share Chain", which has a block rate 20x faster than the main bitcoin chain so that a consensus on miner work can be reached on time. There's no law of physics saying we couldn't do the same, although you'd need a pretty stable internet connection to participate when share chain blocks are flying at you every 6 seconds (2 minutes / 20).

Edit: I just remembered -- we have self-select now! Doesn't self-select solve this issue by allowing miners to hash a block template of their own choosing?