The first idea is to join p2pool. I don't really know much about it, but I see what I thought was a 0.5% fee is (at least these days) an optional 0.5% donation. Turning the donation off I could hook bitminter up to p2pool and still keep this pool zero fee.
I would be interesting in this.
One "issue" is p2pool has a short LP time. It is about 10 seconds between LP vs 300 or so between LP for Bitcoin (w/ merged mining). It isn't a problem but the differences likely mean we will lose some % of our native hashing power as people flee to more conventional pools. The good news is even if we fell back to say 80GH/s native we would have the variance of a 350GH/s pool (p2pool aggregate hashing power w/ +80GH/s from Bitminter).
The next issue is p2pool uses dynamic share difficulty and currently there are ~560 difficulty (I have one rig testing out p2pool). Now you can obfuscate that from users by having them submit only difficulty 1 shares and then hand p2pool difficulty shares on to the p2pool network.
The last issue is "accounting". When we solve a block we get 50 BTC it is very easy, very simple for users to understand and track. If we are part of p2pool when p2pool solves a block we will get a "cut" of each block split by PPLNS. You then can split that revenue like you do now. Hypothetically if BM had 80GH/s and p2pool had 350GH/s we would get ~11.5 BTC per block solved.
At 350GH/s we would solve a block on average in 4.4 hours (or roughly 5 blocks per day).
Can we still build our own blocks as we see fit and put things like BIP16 votes in it?
p2pool works on consensus just like Bitcoin. In any breaking split (like BIP16) 51% of the network will determine the course of actions. If 51% don't support BIP16 then if you attempt to process BIP16 transactions it will be seen as invalid by rest of network. Essentially it works like a "mini" Bitcoin in that respect.
Will we get orphaned shares in the share chain, the same way bitcoin blocks are orphaned (invalid)? I guess it doesn't matter as this should happen equally for all p2pool users.
Yes you will get orphaned shares in p2p share chain. I get about 7% orphaned. However they don't cost you anything. p2pool provides a stat called efficiency. If you have a 7% orphan rate and p2pool has a 7% orphan rate then your shares as a % of p2pool is equal to your hashing power.
orphans only matter if you orphan rate is higher than p2pool. Currently I run at about 102% efficiency so I actually am picking up a ~2% bonus by being more efficient with my shares. As a dedicated pool you likely could ensure you have hundreds of peers and fast connection which reduces orphan rate.
I have many ideas for building my own stuff for cooperation between pools. But if p2pool can do the job, it saves time I can spend on other features instead.
I really think p2pool could evolve to be p2backbone being a high difficulty network which connects conventional pools, major hashing farms and sub p2pools (made up of independent small miners). I feel any work towards improving p2pool is better spent than reinventing the wheel.
Seems a nice idea in theory. However, variance could make it too risky to buy shares. This is basically what operators of PPS pools do, and sometimes their results leave a lot to be desired.
I had considered running a pps pool which connects to p2pool. I have been thinking of algorithms where the pps reserve would be "open market". Essentially the pps fee would be based on buyers and sellers.
Still fleshing it out. Now obviously this could work with a conventional pool also but honestly I feel p2pool is the future of mining. It decentralizes control and only centralizes rewards.
Bitminter @ 150 GH/s has ~1.7% of the network hashing power. IF the entire network ran on p2pool we would simply be paid 1.7% * 50 BTC = 0.85 BTC per block ... EVERY BLOCK.
144 times per day, 52,560 times per year.
Now I doubt the whole network will move to p2pool but maybe someday 20%, 30%, 51% of the network is.