Dear bytemaster (and of course everyone else)
before i start arguing: Thanks for all the work you already did. You are doing a great job!
If I read your arguments correctly you want (among other things) to accomplish the following:
a) decentralize the mining
b) decrease the amount of big cloud miners
But I don't see how including/shifting to a lottery really changes things.
Wouldn't then people want that botnet - which plays the lottery for them - even more?
A process that runs 'in the background and just takes 25% cpu time" sound like the perfect thing to hide in office/library/everyone’s computers.
At the end it comes down to probability. I get it, you are arguing with psychology.
And I think you are right to a certain degree, but still a lot of people do the math and have that botnet that plays the lottery for them anyway.
Another point you make is that people won't trust the pool operator to pay out the jackpot. Why shouldn't they? Setting up the pool is a lot of work. To run away with the first 10K that come at you sounds like a bad idea if you can take n% of the next m lottery wins. In summary I think this makes it even worse. People will still use pools. But just the big one(s), that everyone trusts. So this may even prevent further decentralization.
My argument is that you don't have to change that much to accomplish your goals. You haven't had it so bad in the first place. The original miner kind of sucked for cloud mining. I did some benchmarks: Virtualization layers (like kvm for example) slowed things down by almost 50%. I blame that on the high memory requirements in the original wallet-miner. Before you say: virtualization slows everything down: The effect was not reproduceable with (solo)mining primecoin and VirtIO/VT worked on that machine:). I kind of liked the effect, as I thought it was on purpose
. But my sample data wasn't large enough to prove this effect for different hardware and software virtualization layers. But it may be a hint towards punishing large scale cloud mining. The later miners did not show this behavior btw: The virtualized miners now perfom on par with the non virtualized machines.
In summary I think the lottery idea is a step in the wrong direction because it does not encourage decentralization.
People already form lottery/pool syndicates to play the lottery! Why shouldn't they do that when mining? Isn't that what pools are about already?
The main reason that people switched from solo-mining to pools is not only the instant gratification but also the immense performance increase
the pool clients offered. If there would have been an optimized solo-minier at start, some people would still be solo-mining.
To prevent this pool-oligopoly situation we saw in the beginning, an open-source pool server would be really helpful.
People wouldn't have the need to use the big-pool(s) with high fees if they could use their own one with zero fees.
Another point that we should consider is that the image a lottery system reflects may be harmful considering that people shall use BTS for serious stuff.
(No offence to lottery-site operators btw
tl;dr
In a nutshell I argue that the following (some of it has already been proposed in this thread) will do a better job to accomplish a) and b) than implementing a lottery.
- continuous difficulty adjustment (e.g. similar to primecoin)
- PoW has to rely (even more) on high memory bandwidth to penalize cloud miners.
- Pools and pool software should be available at start
- open source pools should be available, so that people can operate them easily.
- Optimize the miners before release.
Yes, that does not prevent botnets from happening but neither does the lottery.
I hope you find that helpful. Thanks for your hard work!