I don't believe I'm looking at this in a negative way, and if it came across that way, I apologize. I am, however, looking at this in a confused way, so please bear with me.
Based on your last post, it seems that you're running a standard p2pool node and trying to add on this extra "gambling" functionality. This is where I am confused. Every p2pool miner, no matter on which node they mine, is still submitting shares to the share chain. If I moved from my node to windpath's to OgNasty's to yours, it wouldn't make any difference to my earnings because the share chain remains constant on every node.
The only way you, or any other node operator, can dictate a reduction in a miner's earnings is by charging a fee. Therefore, any income your node has to award is based solely on this fee. You mention that a miner would earn 74% of normal, with a chance to win an extra 25%. The remaining 1% would be kept by the node (0.25% going to you personally and the remaining 0.75% to the node for operational expenses). In order to accomplish this, the only way I know is that you are charging a 26% fee on your node.
If that is a correct assessment, then you've got a pretty interesting concept. You've also got a ton of work to do to maintain the gambling aspect. You'll have to keep a database of all miners that have connected to your node, which stores the miner's address, the timestamp they started mining, the timestamp they stopped mining and all shares they submitted on your node during that timeframe.
Regardless of the technical details on how to manage the miners who have connected, whether or not they are registered to be a part of the contest, etc, I still have questions on the implementation you've outlined:
1) What is this "fair GH" formula you outline? This is not how p2pool pays a miner. This is more akin to a PPS pool. So if you are running a p2pool node, then effectively what you're doing is not what I described in my initial paragraph, but rather mining 100% to the node's wallet and then manually making payouts to registered users based upon your formula. Since there's no guarantee that p2pool will find a block a day, it's no wonder you need seed coin to make this happen. You're asking early adopting miners to give up not 26% of their income, but virtually 100% of it until such time that there is enough coin in the node's wallet to afford paying out. When does that period end? What constitutes "enough" coin in the node's wallet? For example, let's say you've started this with just 300GH/s. Currently, in ideal conditions you'd expect to mine 0.008703BTC a day. If in our example, that's the only miner that ever connects, how do you make a payout if p2pool goes 2 or 3 days without finding a block? Now what happens when a miner with 3TH/s joins? There's not enough coin to pay that miner. Could you please explain how you intend to handle situations where the hashing power is constantly changing?
2) How do you determine a 90% mining rate? When a user registers, is that user expected to tell you how much hashing power he is contributing? For example, let's say that I join with 1TH/s. I keep that hashing away on your pool for 2 days. Halfway through the third day, I drop 500GH/s (a few of the boards on my miner died, boo!). Now it would appear that on day 3 I am hashing at less than the required 90% rate. What do you do in such a case? Do I get disqualified for that day's potential winnings? From my perspective, I'm still pointing 100% of my hashing power to your pool, unfortunately, it is 50% less than it was previously.
3) What defines a 24 hour period? Is it from the time a miner connects, or a fixed point in the day. You mention that a miner must join prior to 1200h EDT to be included in the following day's drawing. So, if I happen to join at 1201h, I must wait 47 hours, 59 minutes and 59 seconds until I am eligible?
I apologize for the long-winded post. As I stated, I think you've got a pretty interesting concept, but I'm struggling to understand its implementation. Thanks in advance for your replies.
Sorry for implying you were looking at it negatively. I'm going to answer the questions in bold below this post, underneath your questions to my best ability. I think this personally, is a great concept as I don't believe I've ever seen anyone do it before (but I may be wrong.) I was messaged recently about this pool and I didn't give it much thought until you brought up some interesting points.
P2Pool is a great service, but eventually we will grow out of it and instead of causing more growing pains then necessary it seems like a wiser move to already have our own pool, which will allow us more freedom to .. do what we want. So, I'm throwing together MPOS service with Bitcoin where it's very simple to give a 25% block finder fee,
HOWEVER that 25% will always go to the pool's wallet. I'll have direct access to instantly gather the information on who has joined in the last 24 hours from when the reward should be done and I can take that information and compare it to the users' statistics. Then I can verify that they have been mining at least 90% of the time. Now to explain that.
It wouldn't really matter much if you went from 1TH/s to 500GH/s you're still mining, but if you go from 1TH/s to dead then we have a problem. You see, whether you decide to mine for 16 hours at 1TH/s and then drop to 500GH/s the last 8 hours has absolutely no bearing on whether you'll win or lose the "jackpot" as it's being drawn randomly. The incentive is to throw all your mining power to it, so that we find blocks faster, thus giving you a better chance at winning the "jackpot" more often then not. Sure, your income will vary from 1TH/s to 500GH/s as we all know will happen in ANY pool as it still is a PPLNS system which will pay you as you know for the work you contributed (up to the 74%).
So, you won't be punished for dropping or growing in hashing speed other than what you're paid out in PPLNS as the "jackpot" will be randomly drawn from Random.org's website and no one will know the result of it until after the drawing has taken place.
That whole procedure right now is very gritty and not fluid in terms of automation as there will have to be manual intervention, but given time and understanding and if I have to hire someone to code that if it's out of my realm of understanding then so be it, but eventually we'll get to an automated system where it will use the Random.org's 'Third Party Draw Service' to complete this task. As of right now, it will be manual.