I have a few questions.
1. What if you worked with Cryptsy to allow us to keep the coins instead of instantly trading them? This would allow you to drop the fee a bit as well since you wouldn't have to pay the exchange fee.
2. What if you made a custom version of P2Pool that was more like M2Pool (just made that up) where the multipooling was decentralized.
I know there's a lot involved on the backend (and a lot is an understatement) but think about it. You could reference a few wallets with the nodes, then send the solution information to a few central/command nodes that would also tell the sub-nodes which coin to work on (or just send current coin data). This way DDOS attacks would be mitigated greatly. If you made it well enough, it might even run on it's own. Plus with Cryptsy integration, you wouldn't have to exchange anything. Finally, in order to make it run smoothly and to deter pool hopping even beyond PPLNS, you could have 5mh/s steps built in where for a certain period of time, the source miner mines a junk coin until it's in the system for enough time where it switches to profitable ones. This way the pool doesn't have to worry about getting nuked difficulty.
I know those are crazy suggestions and a decentralized multipool shouldn't be a wafflepool replacement, but it's an idea.
I'd do it myself, but I'm so busy and learning code is taking awhile. It took me all spring to make my own pool and it's decent at best.
1) Has nothing to do with Cryptsy, we're actually working on this, and happens way before we send any coins to Cryptsy (or any exchange)
2) That's an interesting idea. Unfortunately, I think a lot of the use of a multipool (and hopefully why everyone here sees it as worth it to pay a percent to the pool) is that I get to deal with finding new coins (a few hours each day), making sure coindaemons are up to date, and that we're always (or at least most of the time) mining on the right forks. If you were to spend a ton of time each day on the same things that I do, you could probably (most days) do better than Wafflepool (or any multipool). Just because you're a small miner, and you can likely exploit small gaps in the market better than the big guys. But at the same time, a 3-5% daily increase, and 1.5% saved in fees, for 8-12 hours of your time, is a tough sell. Which is why a large number of users use a multipool. Building a p2pool version of a multipool wouldn't be terribly difficulty, but running 30 coindaemons, price pullers, switchers, etc, is a ton of work (lets be honest, not a large number of people will even run just straight p2pool - even though it is almost strictly better than a regular pool).
Cool, I'm glad you're looking at that option, personally I'm exchanging all my BitCoin for DogeCoin at the moment. (P2Pool was 12k Doge/day, WafflePool exchanged gets me 14k-18k
)
As far as P2Pool goes, the particular pool I made was a custom form of P2Pool for mining DogeCoin. It worked great, with a few tricks I was able to get the efficiency around 114% average, with a range from 109% - 120% on unlucky/lucky days. Unfortunately there are a few problems with the P2Pool network on DogeCoin.
1. The required / integrated generation of 10,000 DogeCoin blocks
- This seems to be a glitch coded somewhere in the DogeCoin wallet that creates problems on certain P2Pools, keeping them from generating regular blocks.
2. Multipooling
- Even though there's PPLNS, there seems to be a few resource jumpers who watch for low share difficulty and then switch which end up nuking the system. (Share diff goes from 1.3 to 4-5)
3. Node consistency
- The secret to a high efficiency rate is low rejects and fast connections to many nodes. This way you can confirm your shares before somebody else can.
Anyways, on an ideal system (like mine) through fiber cable + cat6A shielded patch cable in between devices I could get a network (getwork) latency of 5.6ms on the high end.
A simple suggestion I would like to put forth is to update your nodes (addnode) on each of your coin daemons a drop from 50ms to 13ms boosted me quite a bit in my efficiency and only took the addition of about 2 nodes. I look at it the same way as I gamed, if you and somebody else on the network both do something at the same time, who will win? The guy who can talk to the system faster.