Well the last one was keeping BTC for miners who make a mistake connecting, instead of not allowing them to mine or failing over to their backup pools, coz some of them did it on purpose ...
I had a miner do that yesterday.
They didn't create an account for their username, there was no username even slightly similar, it wasn't an address miner of course, and they kept connecting to the pool and being rejected.
I actually think it was trying to be annoying based on the username ...
In the end (having done all the checks possible about if it was someone/an IP I've seen before) I simply permanent banned their IP address from mining.
End of story.
If I had enabled them mining, I would have had to hope they would one day contact me and then I could give them access to the account ... ... ... or I block them (mining) up front and if they wanted to mine they'd contact me pretty quickly.
Well, this stems way back to before I ran the pool. eloipool never verified anything about usernames or passwords (it has modules to do so now, but didn't before), it just validated work and sent it to a database for parsing by whatever reward code you wanted.
Today, I leave this alone because it's been a long term well documented method of just donating to the pool. Connect to Eligius with whatever username you want (people come up with some fun ones too, with today's favorite: "wizkid_keep_up_the_good_work") and the work gets donated (under the normal reward system rules as if I had simply mined myself). So, I have no reason to change it. Since Eligius has no accounts, per se, it makes things simpler.
Rarely I'll have someone contact me about it if they messed up and were mining with an invalid username. If they mined a non-negligible amount I do some verification to make sure they're not trying to scam me and then manually pay them. If they only messed up for a short period of time with a dust-like trivial amount of reward.... well, suck it up buttercup, you should have read the whole "use a valid bitcoin address as a username" thing.
Eligius's back end is designed in a way where even I can't move rewards from one miner to another, which is a great internal security feature. So if a miner mines with an invalid/donation username, there literally is no way I can move those shares to another username... short of a complete rewrite of the reward system code that undermines the current secure methods.
Anyway, we'll never agree on this point, but given that it's a documented behavior that many use for donating (some actually use it with *gminer's load balancing to donate a % continuously) I see no reason to change it. Your way works fine, as does mine.
I've also seen times when you don't allow miners to failover to backup pools when their mining with you is on stale work, I guess in fear of them mining somewhere else? ... ... ... or no notifications waking you up at night if there's a problem with the pool? ... ... ... or assuming the miners at your pool are morons and don't have backup pools?
... yeah I even get a wakeup alert if the work doesn't change for 50 seconds or no one submits a valid share for 40 seconds (and many other more drastic issues) ... yeah those numbers are a very long time in terms of data ... but less than a minute and I get an alert
I don't need alerts. Eligius hasn't had 1 second of unplanned downtime on the pool side in something like a year.
(And less than 2 minutes of planned down time in the same period)
Not sure how I can prevent miners from jumping to backup pools... sounds like a miner-side configuration thing to me. Surely if they have backup pools configured and Eligius goes down they'll fail-over. I don't care either way about that. Their business, not mine. If Eligius is accepting their shares I don't know why they would need to fail over... and if they're submitting loads of rejects, sounds again like a miner side issue. Pretty sure I have little control over if they have backups configured or not.
In seriousness, I do have many alerts setup for all sorts of things. There are even some remotely monitored security conditions that will remotely cut power to all of Eligius's servers in the event they're triggered (hasn't happened). As for alerts for other issues, I do have quite a few alerts that happen when things go badly. First is an email notification, then an SMS notification, then a VoIP phone call with the asterisk chick saying, "Something is terribly wrong!" over and over. If those all fail somehow,
a super annoying sound clip is played through a few devices, some pretty loud much to the displeasure of my wife.
But do keep in mind that bitcoin related things are not my full time job. I have a real day job (granted it's mostly telecommute these days, but still), so I can't always be interrupted by something in bitcoin land. Keep in mind that my pool is no-fees run by volunteer work (almost exclusively me these days) and donations. Not that it actually is in reality, given the stability record, but I think my SLA is allowed to be a little more relaxed than say, a pool earning ~$400/week or more in fees.
Anyway, on the btcd side, you'll notice that the solo pool is faster than your pool
(and has been, except for a few times in the last 2 days due to 0.12.x master failures)
My main btcd is very fast and has been for quite a while due to changes that use the internal prioritisation, no blacklisting and no questionable secret/or otherwise "spam" filters.
It's funny how people have said that GBT is slow due to my misconfiguration of it ... it's not slow itself, that's my fault ...
Yet those same people seem to think that they NEED to bypass it on block changes to get fast ('empty') work out and thus reducing the txn throughput limit of the BTC network by a few % is fine ...
Are the patches you run public? I'd glady try them out. If your bitcoind patches are sane and faster than mine I'm not against giving them a whirl. Everything I'm running on the bitcoind side is actually completely public. Nothing secret there. "Questionable" is... questionable, but that's another debate. But I'm not married to the branch I run. If there is a better and faster one that doesn't cut any validation corners then that's what I'd run.
GBT is in fact pretty slow with all default bitcoind settings, that's for sure. Even on a monster of a server with nothing running an all default setting bitcoind will take 10s of seconds to return GBT at times, especially at block changes. You know the default dbcache setting for bitcoind is only 100MB?!
I think you might have me mixed up with someone else on the 1 tx block issue. I don't think the 1 tx block speedup is *needed* to get work out quickly, but it is a valid speedup method that adheres 100% to all rules of the network. We'll never agree on that for whatever reason, but the good thing is we don't actually have to.
And yes, I've noticed that the solo pool has been slightly faster than Eligius and kano.is. I chalked up the difference to miner connection count differences (solo pool would have the lowest, followed by kano, followed by Eligius), but if there is a valid branch of bitcoind permitting the speedup while retaining full validation, I'm all for it.